ビジュアルベーシックマクロとも呼ばれる VBA マクロは、マイクロエクセルのみ操作できない方法でワークブックを操作する。 ビジュアルベーシックは、ワークブック、エクセルおよびウィンドウズにアクセスできる。

2013年3月21日、VBA は3つのレポートビルダー API のメソッドを呼び出すことができる。これらの API 呼び出しを使用するには、最新バージョンのレポートビルダーがインストールされていることを確認し、マクロを実行する前にログインする。

重要:セキュリティ上の理由から、レポートビルダーのスケジューリングインターフェイスを通してマクロを含むワークブックをスケジュールすることはできない。

セキュリティ上の理由から、マクロを含むワークブックはレポートビルダーのスケジューリングインターフェイスを通してスケジュールすることはできない。

RefreshAllReportBuilderRequests()

このマクロは、アクティブなワークブック内のすべてのレポートビルダーリクエストを更新する。まず、レポートビルダー COM アドインを製品 ID から呼び出して、それから RefreshAllRequests() API コマンド:

Sub RefreshAllReportBuilderRequests()

 Dim addIn As COMAddIn
 Dim automationObject As Object
 Dim success As String
 Set addIn = Application.COMAddIns("ReportBuilderAddIn.Connect")
 Set automationObject = addIn.Object
 success = automationObject.RefreshAllRequests(ActiveWorkbook)

End Sub

RefreshAllReportBuilderRequestsInActiveWorksheet()

このマクロは、アクティブなワークシート内のすべてのレポートビルダーリクエストを更新する。RefreshWorksheetRequests() API の呼び出しは、ワークシートを引数として受け取る。レポートビルダーリクエストを含むワークシートには、この呼び出しが使用できる:

Sub RefreshAllReportBuilderRequestsInActiveWorksheet()

 Dim addIn As COMAddIn
 Dim automationObject As Object
 Dim success As String
 Set addIn = Application.COMAddIns("ReportBuilderAddIn.Connect")
 Set automationObject = addIn.Object
 success = automationObject.RefreshWorksheetRequests(ActiveWorkbook.ActiveSheet)

End Sub

RefreshAllReportBuilderRequestsInCellsRange()

このマクロは、セル出力が指定したセル範囲と交差するすべてのレポートビルダーリクエストを更新する。この例で使用されているセル範囲 B1: アクティブなワークブック内の「データ」ワークシートの B54。範囲内の式がすべてのサポートされているエクセル範囲内の式をサポートする:

Sub RefreshAllReportBuilderRequestsInCellsRange()

 Dim addIn As COMAddIn
 Dim automationObject As Object
 Dim success As String
 Set addIn = Application.COMAddIns("ReportBuilderAddIn.Connect")
 Set automationObject = addIn.Object
 success = automationObject.RefreshRequestsInCellsRange("'Data'!B1:B54")
 
End Sub

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー