「せっかくレコードの値をリッチテキストで入力したのに、帳票出力すると表示に反映されない...」と不満に感じたことはありませんか?
本記事では、ViewFramerを利用してSalesforceのリッチテキスト項目をExcelファイルに出力する方法をご紹介します。
リッチテキストに対応したことで、以下のようなExcelファイルを出力することができます。
※注意
本記事では基本的なViewFramerの設定方法は割愛しております。ViewFramerからExcel出力するための詳しい設定方法について、以下の記事をご参照ください。
【TECH COLUMN】SalesforceからExcel帳票(見積書)を出力する方法(Officeアドイン版)
リッチテキスト項目の値を出力する際に通常のExcel出力の設定とどこが変わるのかだけを知りたい方は、見出し「帳票のテンプレートをデザインする」の「リッチテキストフィールドを設定する」部分を読めば分かるようになっていますので、その部分だけをご覧ください。
事前準備
Salesforceオブジェクトの用意
本記事ではリッチテキストの項目を含む「リッチテキスト出力」オブジェクトを使用します。
以下の項目を含むカスタムオブジェクトを作成するか、既存のオブジェクトに以下のカスタム項目を追加するかして、「リッチテキスト出力」オブジェクトに相当するオブジェクトを用意してください。
ラベル名 | API参照名 | データ型 |
---|---|---|
タイトル | Title__c | テキスト(50) |
メモ | Rich_Text_Memo__c | リッチテキストエリア(32768) |
Officeアドイン「Document Designer for Office」のインストール
Officeアドインでの帳票のデザインの詳細については、こちらページの「操作手順書」をご参照ください。
Officeアドインのインストール方法は操作手順書の2.1.5「テンプレート作成|アドイン入り Excel アップロード」に記載されていますので、インストールが済んでいない方はインストールを済ませてから先のステップにお進みください。
まず最初に、Officeアドイン「Document Designer for Office」を用いてExcelで帳票の見た目を作成します。
以下のようにExcelファイルの見た目を作ります。
Officeアドインを開き、「OPROARTS」をクリックします。
フィールド名をカンマ区切りで入力し、「+」をクリックするとCSVフィールドが設定されます。
※フィールド名をkintoneアプリのフィールドコードと同じ名前にすると、ドキュトーンアプリの設定画面にて自動でマッピングができます。
文字列フィールドと日付フィールドを設定する
「Title」フィールドについてはデータ型を「文字列」にして出力タグを挿入します。
「Created_at」フィールドについてはデータ型を「日付」に変えて出力タグを挿入します。
ここにはSalesforceレコードの「作成日」項目の値が入りますが、「入力形式」はそのままで、「出力形式」はお好みのものをお選びください。
ここでの入力形式はSalesforceから受け取るデータの形式を、出力形式はExcelファイルでの表示形式を指します。
ここでは例として「yyyy/MM/dd」を選びました。
リッチテキストフィールドを設定する
リッチテキストを表示するための「Rich_Text_Memo」フィールドについてはデータ型を「リッチテキスト」に変えて出力タグを挿入します。
以上の設定をした後のExcelファイルは以下のようになります。
以下、ViewFramerを利用したリッチテキストデータ出力についての注意点です。
-
リッチテキスト上の改行は、Excel上では改段落として表現されます。
リッチテキストの書式のうち、以下の書式がExcel上に適用されます。- 太字
- 斜体
- 取消線
- 文字サイズ (※1)
- 下線
- 文字の色
------------------------------------------------------------------------------------------------------------
※1 文字サイズの調整方法は複数存在します。
-
-
- Salesforceのリッチテキスト編集画面では、文字のサイズをポイント単位で指定可能になっています。Excelドキュメントを出力する際には、設定された文字のサイズをそのまま反映します。テンプレート上の差込タグに設定された文字のサイズは無視されます。
-
------------------------------------------------------------------------------------------------------------
-
以下についてはExcel上に再現されません。
- 文字の背景色
- 水平方向の文字寄せ位置
- インデント
- 連番
- 箇条書き
- リンク
- 画像
- 設定欄の「多量出力モード」が「使用する」に設定されている場合、書式が出力結果に反映されません(改行は反映されます)。リッチテキスト書式を反映する必要がある場合は「使用しない」を選択して下さい。ただし「使用しない」を選択した場合、明細行の出力可能行数が最大1万件に制限されます。
- セルに対してリッチテキストを出力する場合、あらかじめ該当するセルに対して「折り返して全体を表示する」を設定する事をお勧めします。設定しない場合、外見上は改行が設定されているように見えないためご注意下さい。
リッチテキスト上で書式の指定が無い場合は、テンプレート上の差込タグに設定された書式が引き継がれます。
帳票のテンプレートをアップロードする
Salesforceにログインします。
アプリケーションランチャーから「OPROARTS Connector 」アプリを開いたら、「OPROARTS」タブに移動して「START」ボタンをクリックし、OPROARTS Designerを開きます。
[新規作成]をクリックします。
※帳票の見た目をアップロードするだけですが、「新規作成」します。
[Excel]タブの「アドイン入りExcelアップロード」を選択します。
連携方法にCSVを指定し、任意のテンプレート名を入力し、Excel文書にデザイン済みのExcelファイルを選択したら、[作成]をクリックします。
作成できたら[配備]をクリック、更にテンプレート配備ウィザードで[配備]をクリックしてテンプレートの配備が完了です。
ViewFramerの設定をする
ビューの設定
ビューを新規作成します。名称とタグに任意の値を設定し、リレーション設定では用意したカスタムオブジェクトを選択してください。
テンプレート作成時に設定したCSVフィールド「Title」「Created_at」「Rich_Text_Memo」のそれぞれについて、カスタムオブジェクト「リッチテキスト出力」の項目「タイトル」「作成日」「メモ」を用意します。
レコード詳細画面で表示しているレコードのみをデータ取得の対象とするために、パラメータ「ID」を用意します。
このパラメータはSalesforceからViewFramerへ帳票出力のリクエストをする際に使用され、パラメータの値には帳票出力ボタンを押下した詳細画面で表示中のレコードのIDが入ります。
以上の設定が済んだらビューを保存して、設定完了です。
マッピングの設定
マッピングを新規作成します。
帳票タイプに「単票型」を選択し、作成したビューの項目を取得します。
「Documentizer」タブで、作成したExcelテンプレートとビューの項目の紐づけを行います。
以上の設定が済んだらマッピングを配備して、設定完了です。
出力ボタンを設置する
ViewFramerにて行った設定で帳票出力するボタンをレコードの詳細画面に設置します。
以下の記事の【4. ボタンを作成する】を参考に、ViewFramerへリクエストするためのアクションボタンを「リッチテキスト出力」オブジェクトの詳細画面に配置します。
レコードの詳細画面に出力ボタンが表示されます。
クリックすると、帳票が出力されます。
おわりに
帳票出力というと真面目で堅い文書を扱うイメージがありますが、実際は幅広いデザインの文書に対応しています。
本記事が「Salesforceのリッチテキスト項目の値も出力したい!」と考えている方の参考になれば幸いです。