Amanck
Messages postés4Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention16 novembre 2006
-
13 nov. 2006 à 14:36
Amanck
Messages postés4Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention16 novembre 2006
-
16 nov. 2006 à 09:39
Bonjour,
Je débute en VB et je dois écrire un script VBS pour compléter un programme de pilotage d'automate. Je vais essayer d'être le plus clair possible :
Le programme de l'automate fait appel à une liste de travail (fichier texte avec une extension *.gwl) qui se trouve par exemple dans un dossier "Worklist", sur le bureau.
Je peux entrer le nom et le chemin du fichier .gwl par défault dans le programme, mais dans ce cas, il faut à chaque lancement du programme nommer la liste de travail avec le même nom et la placer au même endroit.
Pour plus de "convivialité", je veux mettre l'adresse et le nom du fichier en variables (mon problème ne se situe pas là). Pour ce faire, j'inserre une ligne de commande qui lance un script VBS (fichier au format *.vbs).
C'est là que je coince : je veux qu'au lancement de ce script s'affiche une boîte de dialogue contenant un bouton "Parcourir" qui permette d'ouvrir un "openfiledialog" afin de récupérer le nom du fichier (et le chemin).
J'ai installé Visual Basic 2005 Express Edition, j'ai "dessiné" mon formulaire, inséré le code (par encore au point en ce qui concerne l'openfiledialog), mais je ne sais pas comment enregistrer tout ça en fichier .vbs. Est-ce possible ? Comment faire ?
Sinon, j'ai la possibilité de lancer un .exe. Comment est-ce que je peux transformer mon projet en *.exe ?
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 13 nov. 2006 à 16:29
Bonjour à tous....
Le CommonDialog existe aussi en vbs.
Il y a plein de variantes possibles.
Ex:
Dim var1, var2, var3
var1 = "D:\Test1" 'disque ou disque/répertoire pour se positionner
var2 = "commentaire de la fenêtre"
var3 = "|*.vbs|" 'tous les fichiers .xls (ou *.txt ou *.*)
MsgBox BrowseForFile(var1, var2 & var3)
' pstrPath = var1 le chemin
' pstrFilter = var2 soit le type de fichiers recherché
Function BrowseForFile(pstrPath, pstrFilter)
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = pstrFilter
objDialog.InitialDir = pstrPath
objDialog.Flags = &H80000 + &H4 + &H8 'position de la fenêtre
intResult = objDialog.ShowOpen
BrowseForFile = objDialog.FileName 'récupération du nom du fichier sélectionné
Set objDialog = Nothing
end function
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 15 nov. 2006 à 12:22
Bonjour à tous....
Bonjour ,
J'avais bien précisé qu'il y a plusieurs variantes !!!
Il suffit de demander.......
'Ce script permet d'ouvrir une fenêtre Explorer
'et affiche le nom du fichier selectionné par l'utilisateur
Dim WshShell, objDlg
Set WshShell = wscript.CreateObject("wscript.Shell")
Set objDlg = wscript.CreateObject("MSComDlg.CommonDialog")
'choix de l'affichage, l'option Filter peut-être est mise en commentaire (' ou rem)
objDlg.Filter = "All Files (*.*)|*.*|coucou Files (*.txt)|*.txt|jean-marc"
' objDlg.Filter = "All Files (*.*)|*.*|coucou Files (*.txt)|*.txt|jean-marc"
'Positionnement de la fenêtre
objDlg.FilterIndex = 2
objDlg.MaxFileSize = 260
objDlg.CancelError = true
objDlg.ShowOpen
Amanck
Messages postés4Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention16 novembre 2006 13 nov. 2006 à 17:00
Merci Jean-Marc.
Cela fait plusieurs jours que je cherche des bouts de codes partout pour voir comment écrire mon code.
C'est exactement ce que je cherchais à faire. Il me reste maintenant à comprendre chaque ligne pour éviter de reposer la même question dans 6 mois ...
Amanck
Messages postés4Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention16 novembre 2006 15 nov. 2006 à 11:25
Bonjour,
Je reviens à la charge ...
J'ai recopié le code, fait des tests en changeant des bouts de code pour voir ce que cela produit (c'est en général comme ça et par des recherches sur le net que j'apprends à programmer...). J'ai donc fait d'autres recherches sur le net et j'ai une nouvelle question au sujets du code :
"objDialog.Flags = &H80000 + &H4 + &H8 'position de la fenêtre"
comme le dit le commentaire, cette ligne permet de positionner la fenêtre. J'ai vu par ailleurs le code suivant : "objDialog.Flags = &h1a04" qui permet d'ouvrir la fenêtre de recherche en mode "multi-sélection". Le premier code ne correspondrait-il pas à de la sélection simple ? Quand j'essaye de modifier les valeurs &H..., la fenêtre reste toujours à la même place (en haut à gauche de l'écran).
Vous n’avez pas trouvé la réponse que vous recherchez ?