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 :


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 :
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;
A savoir que :
TypeDoc et OpenOffice sont des properties.
Le code m'affiche l'erreur cité précédemment lors de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Document:= OfficeDesktop.LoadComponentFromURL(TypeDoc, '_blank', 0, Params);
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.

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.