Le macro VBA, note anche come macro di Visual Basic, consentono di manipolare le cartelle di lavoro in modo che Microsoft Excel da solo non possa. Visual Basic ha accesso alla cartella di lavoro, a Excel e persino a Windows.
Adobe supporta tre metodi API Report Builder. Prima di eseguire le macro, verificare che sia installata la versione più recente del generatore di report ed eseguire il login.
Per motivi di sicurezza, non è possibile pianificare una cartella di lavoro contenente una macro.
RefreshAllReportBuilderRequests()
La RefreshAllReportBuilderRequests()
macro aggiorna tutte le richieste di Report Builder nella cartella di lavoro attiva. Inizia chiamando il componente aggiuntivo COM del Report Builder tramite il relativo ID prodotto, quindi chiama il comando 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()
La RefreshAllReportBuilderRequestsInActiveWorksheet()
macro aggiorna tutte le richieste di Report Builder nel foglio di lavoro attivo. La chiamata RefreshWorksheetRequests()
API prende un oggetto foglio di lavoro come argomento. Puoi 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()
La RefreshAllReportBuilderRequestsInCellsRange()
macro aggiorna tutte le richieste di Report Builder i cui output della cella intersecano l'intervallo di celle specificato. L'intervallo di celle utilizzato in questo esempio fa riferimento all'intervallo B1:B54
del foglio di lavoro "Dati" all'interno della cartella di lavoro attiva. L'espressione intervallo supporta tutte le espressioni di intervallo 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