brobin
Messages postés12Date d'inscriptionmardi 2 mai 2006StatutMembreDernière intervention20 septembre 2007
-
5 juin 2006 à 10:47
brobin
Messages postés12Date d'inscriptionmardi 2 mai 2006StatutMembreDernière intervention20 septembre 2007
-
5 juin 2006 à 12:33
je souhaite retourner une variable de type "Object" dans le résultat d'une fonction.
quand je récupère le résultat, j'ai un message d'erreur me disant "cet objet ne gere pas cette propriété ou cette méthode"
voila mon code:
Function ouverture(fichier)
Set objServiceManager = CreateObject("com.sun.star.ServiceManager")
Set objDesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop")
'ouvrir un document
Dim args()
Set objDocument= objDesktop.loadComponentFromURL("file:///" & fichier, "_blank", 0, args)
ouverture = objDocument
End Function
doc = ouverture("C:/open1.odt")
Il sert à ouvrir un document avec Open Office. et je veux récupérer la variable "objDocument" représentant le document ouvert pour l'utiliser dans une autre fonction sans l'appeler dans la fonction ci-dessus.
cs_vpoyo
Messages postés363Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 avril 20106 5 juin 2006 à 11:10
si c'est un objet tu dois faire un set pour l'affectation ! donc
Set ouverture = objDocument
petites remarques en passant ca serait bien de déclarer tes variables dans la fonction (dim) et de présicer le type de retour de la fonction Function ouverture(ByVal fichier as string) As ServiceManager
faudrait aussi gérer les erreurs et tester l'existence du fichier en question
brobin
Messages postés12Date d'inscriptionmardi 2 mai 2006StatutMembreDernière intervention20 septembre 2007 5 juin 2006 à 11:35
ok pour la déclaration des variables.
mais je ne peux pas préciser le type de retour de ma fonction. quand je mets Function ouverture(fichier) As Object ou un autre type de retour, j'ai un message d'erreur "instruction attendue", ca fait pareil quand je le fait pour une variable.
cs_vpoyo
Messages postés363Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 avril 20106 5 juin 2006 à 11:55
vérifie que ton fichier existe bien, et teste aussi si loadComponentFromURL ne renvoie pas null (ou Nothing)
sinon j'ai cherché un peu sur le net à propos de cette api et il semble que le code soit ca (voir il semble que le code est un simple copier coller ^^)
brobin
Messages postés12Date d'inscriptionmardi 2 mai 2006StatutMembreDernière intervention20 septembre 2007 5 juin 2006 à 12:33
j'ai déclaré mes variables au début du script (ce que je n'avais pas fait avant ... mal!!) et ca marche!! désolé de t'avoir fait réfléchir la dessu pour rien!! merci quand mem d'avoir essayé de m'aider