Erreur Code VBA reprise dans BASIC

Bonjour,

j’aurais besoin de la programmation pour mettre dans libre office basic.

Avec le script ci-après, j’obtiens “Erreur d’Exécusion BASIC”, variable d’objet non définie.

Sub autoopen()
ActiveDocument.MailMerge.OpenDataSource Name:=ActiveDocument.Path & "\Base_Excel.xls", _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source= ActiveDocument.Path & \Base_Excel.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=35;Jet OLED", SQLStatement:="SELECT * FROM `A$`", SQLStatement1:="", SubType:=wdMergeSubTypeAccess
activedocument.save
End Sub

J’avais essayé des traducteurs web de VBA vers BA mais le message reste le même.

Quelqu’un peut-il me traduire ceci en BA ? J’utilise la dernière version Libre Office. (7.0.4.2 x64)

Merci d’avance !

Meilleures salutations

Bonjour @TomFrankenbach

Ce script n’est pas traduisible dans le basic de LibreOffice, en particulier parce que la fonctionnalité appelée (à l’ouverture d’un document, lancement d’un publipostage avec source de données xls si je comprends bien le script) n’est pas transposable. La gestion des événements et des sources de données est tout à fait différente.

Pour information il existe bien un mode de compatibilité (voir l’aide correspondante) mais il est limité à une partie d’Excel (cf l’aide citée ci-dessus).

La section Macros de notre wiki regroupe l’ensemble des ressources nécessaires à l’apprentissage de la programmation avec LibreOffice.

Cordialement

Bonjour @Pierre-Yves Samyn !

Merci pour votre retour rapide. J’étais vraiment optimiste que VBA et BA seraient tellements proches l’un de l’autre que la syntaxe corrigée pourrait résoudre l’issu.

COmme nous lancons un document word de notre logiciel et créons - cemoment précis - une base excel, reprenant les champs de fusion pour word, on est obligé de continuer ce chemin pour avoir des docs “dynamiques”, reprenant toujours la DB actualisée. Ainsi, je vais donc voir si une ou deux autres macros pourront éventuellement faire l’affaire en semi-automatique (avec des fonctions triggers, à tester.)

Merci en tout cas pour votre effort, j’apprécie !

Bonne journeé & meilleures salutations