Vbscript+openoffice

bonaldal Messages postés 3 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 13 juillet 2005 - 9 juil. 2005 à 12:13
david33470 Messages postés 5 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 juillet 2007 - 5 mai 2006 à 11:16
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

michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
10 juil. 2005 à 19:47
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
0
bonaldal Messages postés 3 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 13 juillet 2005
11 juil. 2005 à 09:51
J'ai essayé ta methode, elle marche bien en vb mais en vbscript, j'ai toujours la même erreur.



Merci quand même.
0
david33470 Messages postés 5 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 23 juillet 2007
5 mai 2006 à 11:16
Bonjour,
Je suis confronté exactement au même problème.
Quelqu'un aurrait il trouver la solution?

Merci d'avance.
Cordialement,
David
0
Rejoignez-nous