[VBS] Recherche/Séléction de fichier dans un répertoire

Fermé
kiksora_01 Messages postés 235 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 13 décembre 2015 - 21 janv. 2013 à 11:52
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 - 21 janv. 2013 à 14:09
Bonjour,



Je cherche actuellement une commande me permettant, lorsque j'exécute mon script, d'ouvrir une fenêtre de recherche de fichier, et qui me permetrai de sélectionner directement les fichiers sur les quelles je veut agire.
Et par la suite une fentre de destination, qui me permtrait d'enregistrer un fichier de sortie dans un répertoire.
Ma question est elle assez claire ?

Je vous remercie.
A voir également:

1 réponse

Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
21 janv. 2013 à 14:09
Bonjour,

Comme je n'ai pas de précision, je te donne le code en l'état .. Le choix du fichier se fait via une API Windows, à placer dans un module:

Option Explicit

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
    "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
 
Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type
 
Sub Openfiledialog()
    Dim OpenFile As OPENFILENAME
    Dim lReturn As Long
    Dim sFilter As String
    '
    OpenFile.lStructSize = Len(OpenFile)
    'OpenFile.hwndOwner = Form1.HWND
    'OpenFile.hInstance = App.hInstance
    sFilter = "AUTOCAD Files (*.txt)" & Chr(0) & "*.txt" & Chr(0)
    OpenFile.lpstrFilter = sFilter
    OpenFile.nFilterIndex = 1
    OpenFile.lpstrFile = String(257, 0)
    OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
    OpenFile.lpstrFileTitle = OpenFile.lpstrFile
    OpenFile.nMaxFileTitle = OpenFile.nMaxFile
    OpenFile.lpstrInitialDir = "G:\TESTS_FORUMS\"
    OpenFile.lpstrTitle = "choix des plans"
    OpenFile.flags = 5
    lReturn = GetOpenFileName(OpenFile)
    If lReturn = 0 Then
        MsgBox "The User pressed the Cancel Button"
    Else
        MsgBox "The user Chose " & Trim(OpenFile.lpstrFile)
    End If
End Sub

Certaines parties peuvent être changée, telle que le répertoire de départ ou encore le type de fichier, ici "*.txt".

Bon amusement.
0