Bonjour à tous,
Voilà, j'ai quelques petites questions sur Open Office :
1) Voici un exemple de code (qui fonctionne bien). Le problème, c'est que j'ai remarqué que les process "sOffice.exe" et "sOffice.bin" ne se ferment pas après l'éxécution de ce code qui me parrait tout à fait correct (avec fermeture des objets ouverts, ...).
Que manque-t-il pour tuer correctement les process ?
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 'Vérifie la présence d'OpenOffice Calc sur le poste utilisateur Public Function CheckIfOOoCalcInstalled() As Boolean Dim oServiceManager As Object Dim oDesktop As Object Dim oDocument As Object Dim oOpenParam(2) As Object 'a Visual Basic array, with 3 elements Dim ErrMsg As String On Error GoTo ErrHandler 'Création d'un service OpenOffice.org Set oServiceManager = CreateObject("com.sun.star.ServiceManager") Set oDesktop = oServiceManager.CreateInstance("com.sun.star.frame.Desktop") 'We call the MakePropertyValue function, defined just before, to access the structure Set oOpenParam(0) = MakePropertyValue("ReadOnly", True) Set oOpenParam(1) = MakePropertyValue("Password", "") Set oOpenParam(2) = MakePropertyValue("Hidden", True) 'Création d'un nouveau classeur Set oDocument = oDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, oOpenParam()) Call oDocument.Close(False) 'emeture sans sauvegarde ' Suppression des objets pour libérer la mémoire Set oDocument = Nothing Set oDesktop = Nothing Set oServiceManager = Nothing CheckIfOOoCalcInstalled = True Exit Function ErrHandler: CheckIfOOoCalcInstalled = False Exit Function End Function 'Creates a sequence of com.sun.star.beans.PropertyValue s Public Function MakePropertyValue(cName, uValue) As Object Dim oStruct, oServiceManager As Object Set oServiceManager = CreateObject("com.sun.star.ServiceManager") Set oStruct = oServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue") oStruct.name = cName oStruct.Value = uValue Set MakePropertyValue = oStruct End Function
2) Dans la fonction MakePropertyValue faut-il fermer l'objet oServiceManager ? J'ai trouvé cette fonction telle qu'elle sur le site officielle de OOo, donc ...
3) Quelle commande utiliser pour faire un retour chariot dans le writer (Word).
Merci d'avance pour votre aide.
++
Partager