リストビューから一括ファイル出力

Office File Creatorは、リストビューから一括ファイル出力または保存することができます。本手順では、Visualforceページよる一括出力の設定を記します。

*フローでもリストビューより一括ファイル出力が可能です。フローについては、画面フローで使用を参照してください。

 

Visualforceページ作成

設定より、カスタムコード>Visualforceページを選択します。Visualforce画面で「新規」ボタンをクリックし、以下のコードを貼り付けます。

<apex:page standardController="Opportunity" recordSetVar="sobjects" standardStylesheets="false" sidebar="false">
    <script type="text/javascript">
        var retUrl = "{!$CurrentPage.Url}";
        retUrl = retUrl.substr(retUrl.indexOf('%2Flightning%2Fo%2F'));
        var getIds = "{!selected}";

        getIds = getIds.replace('[', '').replace(']', '');
        getIds = getIds.replaceAll(' ', '');

        var url = "/apex/ofc2__OFCOut?ns=ofc2&template=TemplateApiName&id="
        + getIds
        + "&retUrl=" + retUrl
        + "&redirect=false&showLoadingMsg=true"
        + "&isBulk=true";

        var link = document.createElement('a');
        link.href = url;
        document.body.appendChild(link);
        link.click();
     </script>
</apex:page>

先頭行の「standardController="Opportunity"」のOpportunityを出力対象のオブジェクトAPI名に置き換えます。

 

続いて、OFCテンプレートレコードのカスタムボタンURL(ダウンロード)の先頭から「&id=」までをコピーします。

 

10行目の「var url=」の後ろに貼り付けます。

 

ファイルに出力ではなく、ファイル保存や添付ファイルに保存する場合は、12行目の次の行に「+"&save=file"」または、「+"&save=att"」を追記します。

例:

+ "&retUrl=" + retUrl

+ "&save=file"

+ "&redirect=false&showLoadingMsg=true"

+ "&isBulk=true";

 

Visualforceページを任意の名前で保存します。

URLパラメータ一覧

パラメータ 必須 説明 デフォルト
id レコードIdを設定。
複数の場合は、カンマ区切りでつなげたレコードIdを設定。
空欄
template テンプレートAPI名を設定。 空欄
save 空欄・・・ファイルに出力
file
・・・ファイルに保存
att
・・・添付に保存
空欄
download saveパラメータに"file"または"att"を設定した場合、ファイル保存に加えダウンロードする場合はtrueをセットします。

true・・・ファイル保存+ダウンロード
false
・・・ダウンロードしない

false
rerUrl 実行完了後にリダイレクトするURLを設定。 レコードIdのレコード詳細ページURL。複数の場合は、先頭のレコードIdのレコード詳細ページURL
redirect true・・・リダイレクトする
false
・・・リダイレクトしない
true
showLoadingMsg true・・・実行中の画面に件数を表示する
false
・・・実行中の画面に件数を表示しない
false
isBulk   true・・・完了メッセージを表示する
false
・・・完了メッセージを表示しない
false

※download、isBulkはVer.2より追加されました。

 

 

カスタムボタン作成

オブジェクトマネージャーより、対象オブジェクト>「ボタン、リンク、およびアクション」より「新規ボタンまたはリンク」ボタンをクリックし、以下の内容で保存します。

 

表示ラベル: 任意の名前(リストビューに表示されるボタン名)

名前: 任意の名前

表示の種類: リストボタン ※チェックボックスの表示(複数レコード選択用)にチェックオン

動作: 現在のウィンドウにサイドバーおよびヘッダーなしで表示

コンテンツソース: Visualforceページ

コンテンツ: 前手順で作成したVisualforceページ

 

左サイドバーの「リストビューボタンレイアウト」をクリックし、リストビューの「編集」をクリックします。

 

作成したボタンを「利用可能なボタン」から「選択したボタン」に追加し、保存ボタンをクリックします。

 

リストビューよりボタンクリックで、選択したレコードのファイルが出力または保存されます。

 

 

備考

  • 使用するユーザーのプロファイルに、作成したVisualforceページへのアクセス権を付与してください。
  • 一括ダウンロード実行時、すべてのファイルがダウンロードされたことを確認してください。すべてのファイルのダウンロード前に完了メッセージが表示され、実際のダウンロードはタイムラグが生じる場合があります。

 

 

参考

カスタムボタンからファイルがダウンロードできない・複数ファイルがダウンロードできないときの対象法