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