Bonjour,
Tout d'abord je vous place dans le contexte.
Je suis en mission de R&D pour mon entreprise. Cette mission consiste à trouver les ressources et développer un module pour lier le progiciel (déjà créé par l'entreprise) et OpenOffice. J'utilise pour cela notre bon vieux internet pour chercher des tuto sur le pilotage OLE. J'ai déjà piloté Excel via ces fonctions.
Mes sources :
- http://wiki.openoffice.org/wiki/FR/D...on/BASIC_Guide
- http://delphi.developpez.com/faq/?page=openoffice
Maintenant mon problème :
Je cherche donc à créer un document via OLE/COM mais lors de la création j'ai : "Le variant ne référence pas un objet Automation."
Je ne vois pas ce qu'il me manque.
Mon code :
A savoir que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 procedure TFormMenuPrinc.XPBitBtnValiderClick(Sender: TObject); var OfficeDesktop, Params, Document: Variant; DocumentExist: Boolean; begin //création du fichier MemoInfo.Lines.Add(MSGINF + 'Création du fichier.'); OfficeDesktop:= OpenOffice.CreateInstance('com.sun.star.frame.desktop'); Params:= VarArrayCreate([0, -1], varVariant); Document:= OfficeDesktop.LoadComponentFromURL(TypeDoc, '_blank', 0, Params); //test si le fichier est bien créé DocumentExist:= not(VarIsEmpty(Document) or VarIsNull(Document)); if DocumentExist then MemoInfo.Lines.Add(MSGINF + 'Le document a été créé avec succès.') else MemoInfo.Lines.Add(MSGERR + 'Le document n''a pas été créé.'); end;
TypeDoc et OpenOffice sont des properties.
Le code m'affiche l'erreur cité précédemment lors de
J'ai testé tout le reste du code, la connexion à OpenOffice ne pose pas de problème et reste active, et la déconnexion fonctionne également. C'est le seul problème que je trouve à l'exécution de l'application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Document:= OfficeDesktop.LoadComponentFromURL(TypeDoc, '_blank', 0, Params);
Si je n'ai pas été assez clair dites-le moi, je m'efforcerai de mieux m'exprimer.
Je remercie d'avance tous ceux qui se pencheront sur mon problème. Quant à moi je continue de chercher une solution au problème.
Partager