Macros Visual Basic dans le Report Builder

IMPORTANT
Un nouveau Report Builder simplifié a été publié le 16 octobre 2024. Il est pris en charge dans Mac, Windows et les navigateurs web.
Cette version héritée du complément Report Builder fonctionne toujours. Vous pouvez convertir vos classeurs hérités dans le nouveau Report Builder.

Les macros Visual Basic (VBA) fournissent des fonctionnalités qui vous aident à actualiser les classeurs Excel. Visual Basic a accès au classeur, à Excel et à Windows.

Vous devez exécuter la dernière version de Report Builder et vous connecter avant d'exécuter des macros VBA.

IMPORTANT
Pour des raisons de sécurité, vous ne pouvez pas planifier un classeur qui contient une macro.

Adobe prend en charge trois méthodes d’API Report Builder.

RefreshAllReportBuilderRequests()

La macro RefreshAllReportBuilderRequests() actualise toutes les requêtes de Report Builder dans le classeur actif. Elle commence par appeler le complément COM de Report Builder grâce à son ID de produit, puis elle appelle la commande API RefreshAllRequests() :

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 macro RefreshAllReportBuilderRequestsInActiveWorksheet() actualise toutes les requêtes de Report Builder dans la feuille de calcul active. L’appel API RefreshWorksheetRequests() prend un objet de feuille de calcul comme argument. Vous pouvez utiliser cet appel pour toute feuille de calcul contenant des requêtes de 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 macro RefreshAllReportBuilderRequestsInCellsRange() actualise toutes les requêtes de Report Builder dont les résultats intersectent la plage de cellules spécifiée. La plage de cellules utilisée dans cet exemple pointe vers la plage B1:B54 de la feuille de calcul « Data » du classeur actif. L’expression de plage est compatible avec toutes les expressions de plage prises en charge par Excel :

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
recommendation-more-help
a83f8947-1ec6-4156-b2fc-94b5551b3efc