Poser votre question
0

Erreur Code VBA reprise dans BASIC

posée 2021-01-11 11:54:44 +0100

updated 2021-01-11 17:11:09 +0100

Image Gravatar de pierre-yves samyn

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

éditer requalifier signaler fermer fusionner supprimer

2Réponses

0

répondue 2021-01-11 17:18:31 +0100

Image Gravatar de pierre-yves samyn

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

éditer signaler supprimer permalien plus
0

répondue 2021-01-12 13:24:54 +0100

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

éditer signaler supprimer permalien plus
S'identifier/S'inscrire pour répondre

Outils de question

1 suiveurs

Stats

Posée: 2021-01-11 11:54:44 +0100

Consultée: 15 fois

Mise à jour: Jan 12