Bonjour!
Est-il possible de faire de l'automation OOo à partir de VB.Net ?
Si oui pouvez vous m'indiquer un document sur le sujet ? Merci!
Bonjour!
Est-il possible de faire de l'automation OOo à partir de VB.Net ?
Si oui pouvez vous m'indiquer un document sur le sujet ? Merci!
Connaissez-vous un outils permettant de faire de l'automation Open Office ?
J'ais trouvé un ensemble d'instruction permettant d'ouvrir un document office.
Il ne manque plus que celles permettant de le modifier.
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 'root object from OOo API Public oSM As Object '---ServiceManager Public ODesk As Object '---Desktop (Bureau) Public oDoc As Object '---Document ouvert '***************************************************************************************** Public Sub ouvre_ObjetOOo() '***************************************************************************************** 'Instanciate OOo : la première ligne est toujours exigée dans Visual Basic pour OOo oSM = CreateObject("com.sun.star.ServiceManager") ODesk = oSM.createInstance("com.sun.star.frame.Desktop") End Sub '***************************************************************************************************** Public Sub CommandOuvreDoc_Click() '***************************************************************************************************** Dim CheminOOo As String, FichierOOo As String CheminOOo = "" FichierOOo = "private:factory/swriter" ouvre_ObjetOOo() ouvre_Document(CheminOOo, FichierOOo, "") End Sub '***************************************************************************************************** Public Function ouvre_Document(ByVal CheminOOo As String, ByVal FichierOOo As String, ByVal MDPOOo As String) As Boolean '***************************************************************************************************** ' ouverture de document avec paramètres Dim OpenPar(2) As Object Dim FichierCompletOOo As String '---------------------------------------------------------------------------- 'Nous appelons la fonction de setOOoProp, pour accéder à la structure OpenPar(0) = setOOoProp("ReadOnly", False) OpenPar(1) = setOOoProp("Password", MDPOOo) OpenPar(2) = setOOoProp("Hidden", False) If CheminOOo = "" Then FichierCompletOOo = FichierOOo Else FichierCompletOOo = CheminOOo & "/" & FichierOOo End If 'Maintenant nous pouvons appeler la méthode de loadComponentFromURL d'OOo, 'en lui donnant comme quatrième argument le résultat de notre appel précédent de setOOoProp oDoc = ODesk.loadComponentFromURL(FichierCompletOOo, "_blank", 0, OpenPar) End Function '***************************************************************************************** Public Function setOOoProp(ByVal cName As String, ByVal uValue As Object) As Object '***************************************************************************************** 'Quelques propriétés d'objet dans OOo api ont la structure de type. 'Les structures sont l'équivalent du type défini pour l'utilisateur (UDT) dans visual basic. 'En raison de l'exécution du pont d'UNO-Automation, il n'est pas possible de passer un UDT 'comme argument de méthode. '(Cf http://api.openoffice.org/docs/DevelopersGuide/ProfUNO/ProfUNO.htm#1+4+4+5+3+Usage+of+Types). 'dans visual basic, on doit employer une méthode particulière d'OOo api (Bridge_GetStruct): 'il donne l'accès à une structure d'OOo dans visual basic. 'Après ce, on peut donner le résultat de l'appel de Bridge_GetStruct comme argument dans un appel de méthode. 'Vous pourriez par exemple employer une fonction d'aide comme ceci: Dim oPropertyValue As Object oPropertyValue = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue") oPropertyValue.Name = cName oPropertyValue.Value = uValue setOOoProp = oPropertyValue End Function
bonjour
Ce n'est pas du VB.Net, mais j'espère tu pourras adapter les exemples proposés dans ce lien:
http://silkyroad.developpez.com/VBA/PiloterOpenOffice/
bonne soirée
michel
Merci beaucoup du tuyau. Je vè voir ce qu'il è possible de faire avec. Encore merci!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager