Le macro VBA, note anche come macro di Visual Basic, consentono di manipolare le cartelle di lavoro in modi diversi da Microsoft Excel. Visual Basic dispone dell'accesso alla cartella di lavoro, a Excel e persino a Windows.
Adobe supporta tre metodi API di Report Builder. Verificare che sia installata la versione più recente di Report Builder e accedere prima di eseguire qualsiasi macro.
Per motivi di protezione, non è possibile pianificare una cartella di lavoro contenente una macro.
RefreshAllReportBuilderRequests()
Il RefreshAllReportBuilderRequests()
la macro aggiorna tutte le richieste di Report Builder nella cartella di lavoro attiva. Inizia chiamando il componente aggiuntivo COM di Report Builder tramite il relativo ID prodotto, quindi chiama RefreshAllRequests()
Comando 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()
Il RefreshAllReportBuilderRequestsInActiveWorksheet()
macro aggiorna tutte le richieste di Report Builder nel foglio di lavoro attivo. Il RefreshWorksheetRequests()
La chiamata API accetta un oggetto del foglio di lavoro come argomento. È possibile utilizzare questa chiamata per qualsiasi foglio di lavoro contenente richieste di Report Builder:
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()
Il RefreshAllReportBuilderRequestsInCellsRange()
macro aggiorna tutte le richieste di Report Builder i cui output di cella intersecano l'intervallo di celle specificato. L'intervallo di celle utilizzato in questo esempio punta all'intervallo B1:B54
del foglio di lavoro "Dati" nella cartella di lavoro attiva. L’espressione di intervallo supporta tutte le espressioni di intervallo di Excel supportate:
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