Vbscript+openoffice

Signaler
Messages postés
3
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
13 juillet 2005
-
Messages postés
5
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
23 juillet 2007
-
Bonjour,

Voici un code qui marche bien en visual basic

ps: j'ai recuperer ce code sur un exemple du forum

ce code ouvre le fichier c:/document.sxw avec openoffice, l'imprime et ferme Open Office.



Par contre, si j'enregistre ce code dans un fichier test.vbs pour
l'executer en vbscript, j'ai un message d'erreur sur la ligne :



CallByName Document, "print", VbMethod, PrintArgs()



Je debute en vb et je ne vois pas d'ou viens le probleme

merci.



Voici le code:

------------------------------------------------------

Dim ServiceManager

Dim Desktop

Dim Document



Dim args()

Dim PrintArgs(2)



Dim Fichier



Dim I



' Fichier à charger

Fichier = "file:///" & "c:/document.sxw"



' Création d'un service OpenOffice

Set ServiceManager = CreateObject("com.sun.star.ServiceManager")

Set Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop")



' Ouverture d'un document existant

Set Document = Desktop.loadComponentFromURL(Fichier, "_blank", 0, args)



' Imprimer la page

Set PrintArgs(0) = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")

' Nombre de copies du document

PrintArgs(0).Name = "Copies"

PrintArgs(0).Value = 2

' ???

Set PrintArgs(1) = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")

PrintArgs(1).Name = "Collate"

PrintArgs(1).Value = False

' ???

Set PrintArgs(2) = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")

PrintArgs(2).Name = "Selection"

PrintArgs(2).Value = False



' Action

CallByName Document, "print", VbMethod, PrintArgs()



' Referme la document actif

Call Desktop.activeFrame.Dispose





' Suppression des objets pour libérer la mémoire

Set Document = Nothing

Set Desktop = Nothing

Set ServiceManager = Nothing

------------------------------------------------------------------------------

3 réponses

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
28
bonsoir

je n'ai pas testé en vbs , mais tu peux essayé cette adaptation qui fonctionne aussi en VB , pour imprimer un document OOo

Dim X

'...

' Action
X = Document.Print(PrintArgs())
'...

en esperant que ça puisse t'aider
bonne soiree
michel
Messages postés
3
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
13 juillet 2005

J'ai essayé ta methode, elle marche bien en vb mais en vbscript, j'ai toujours la même erreur.



Merci quand même.
Messages postés
5
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
23 juillet 2007

Bonjour,
Je suis confronté exactement au même problème.
Quelqu'un aurrait il trouver la solution?

Merci d'avance.
Cordialement,
David