Teoftene
Messages postés3Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention12 avril 2006
-
8 avril 2006 à 19:36
Teoftene
Messages postés3Date d'inscriptionsamedi 8 avril 2006StatutMembreDernière intervention12 avril 2006
-
12 avril 2006 à 15:43
Bonjour
Je cherche depuis plusieurs à faire passer une variable dans une collection.
Mon projet va chercher dans une BDD le type de document à ouvrir. Workbooks pour Excel et Documents sir c'est Word.
Je souhaite que ce projet évolutif par lui même et que donc, si un nouveau type est utilisé, il soit simplement ajouté à la BDD sans que personne ne soit obligé de rentrer dans le code.
Dim fctapp as Object
Dim fctfichier as Object
Set fctapp = CreateObject(strapplication) 'strapplication renvoi Excel.Application ou Word.Application
'strvierge --> renvoi une partie du chemin d'adresse
'strtype --> renvoi une autre partie du chemin d'adresse
'strextension --> renvoi .xls ou .doc
Je souhaiterais trouver un moyen pour que Workbooks ici en rouge, soit remplacer par une variable qui irait chercher dans la BDD soit, Workbooks, soit Documents.
J'ai essayé pas mal de chose, la création d'une nouvelle collection, passer par un objet mais rien y fait ...
Quelqu'un aurait il une idée et/ou une solution ????
Teoftene, ce qu'il te manque, c'est la fonction CallByName (méconnue, mais VB quand même).
Cela donnera, dans ton cas :
Dim fctApp As Object' notes: la casse Chameau, c'est plus lisible
Dim objConteneur as Object
Dim fctFichier as Object
Set fctApp = CreateObject(strApplication) 'strApplication renvoi Excel.Application
' ou Word.Application
'récupère la collection et affecte sa référence dans objConteneur
Set objConteneur = CallByName (fctApp, _
strNomObjetConteneur, _
VbGet)'strNomObjetConteneur contient soit
' "Documents" soit "WorkBooks"
'et ensuite on appelle la méthode que l'on veut
'soit comme ça (bôf)
Set fctFichier = objConteneur.Open(strVierge & strType & " Vierge" & strExtension)
'soit comme ça (ah, yes!)
Set fctFichier = CallByName(objConteneur, _
"Open", _
VbMethod, _
strVierge & strType & " Vierge" & strExtension)
PS : n'oublies pas d'accepter la réponse, si c'est celle que tu attendais depuis longtemps, et surtout, si tu l'as testée et validée!
à+
rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 8 avril 2006 à 23:22
Bonsoir,
Je n'ai pas trop compris.
Avant l'appel de l'instruction: Set fctfichier = fctapp.workbooks.Open(strvierge & strtype & " Vierge" & strextension)
Quelles sont les valeurs de strvierge, strtype et strextension ?
Donc cela ouvre le fichier "B Vierge.xls" se trouvant dans le dossier "c:\monprojet"
JMO j'ai essayé, ca m'affiche bien ce que je recherche, mais impossible de d'assigner une variable dans l'objet fctfichier.
L'erreur qu'il ressort : "Objet requis"
Je cherche à ce que cela donne :
var ="Workbooks"
Set fichier = fctapp.var.Open(strvierge & strtype & " Vierge" & strextension)
Mais ca veut po
Vous n’avez pas trouvé la réponse que vous recherchez ?