Ouvrir des fichiers WORD via une INPUTBOX

Résolu
Signaler
Messages postés
178
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
2 janvier 2015
-
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
-
Bonjour j'aimerai ouvrir des fichiers words via une INPUTBOX. Mes fichiers word se trouvent sur C: et j'aimerai  par exemple taper le nom du fichier word dans la inputbox et le programme rechercherai le fichier saisi dans la inputbox et l'ouvrirai, est ce possible? je pense que oui, mais encore personne n'à eu de réponse à mon problème! Je débute en VBA donc n'ayez pas peur de dire les détails merci.

                  Ludo

20 réponses

Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Excuse moi si ca correspond pas mais en plus t'y mets pas du tien, si c'est bien compris c'est pas plus compliqué que ca.

Dim NomDoc As String
Dim Chemin As String

NomDoc = InputBox("texte","titre","Valeur par défaut")
Chemin = "C:" & NomDoc & ".doc"
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
http://www.vbfrance.com/infomsg_RECHERCHE-FICHIERS-WORD-VIA-INPUTBOX_918603.aspx#8




 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Bonjour,

Tu rigoles ou quoi ?

Les réponses données là :

http://www.vbfrance.com/infomsg_RECHERCHE-FICHIERS-WORD-VIA-INPUTBOX_918603.aspx

me paraissent parfaitement correspondre ! TOUTES !

Et même si (on l'apprend maintenant) tu développes sous VBA et non sous VB6 (section dans laquelle tu as ouvert ta discussion !...)

La seule différence est entre Form (VB6) et UserForm (VBA) .....
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Salut,

Ouai...2 posts....!!

Regarde cette source, à toi maintenant de la travailler pour ton but personnel...

A+
Exploreur

 
Messages postés
178
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
2 janvier 2015

Merci mais c'est moi qui ai créé ce salon et les réponses ne me conviennent pas merci ken meme.
Messages postés
178
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
2 janvier 2015

Je vais essayer ça, je te tiens et accepte ta réponse si ca marche à bientôt!

         Ticrain. Encore merci, vous assurez pour la rapidité des réponses
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Ouais.... Bon....
Donc : si, ayant créé ce "salon", tu estimes que les réponses ne peuvent qu'être celles que toi, tu entrevois... ma foi.... applique donc tes "vues" de la choses .... et accepte ta propre réponse, ma foi....
Bon travail...
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Salut,

Ben...là t'es parti en live avec cette réponse qui n'est pas intelligente
Tu ne risques plus d'avoir beaucoup de réponse....

A+
Exploreur

 
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
1) sais tu au moins te servir d'un inputbox, car ce que tu veux c'est pas bien compliqué?

2)il y a des contrôls pour ça, je me verais bien avec excel pour ouvrir un fichier devoir rentrer le chemin!!!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Dim NomDoc As String
Dim Chemin As String

NomDoc = InputBox("texte","titre","Valuer par défaut"
Chemin = "C:" & NomDoc

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Salut Drikce06,

Oubli de ) à la fin

A+
Exploreur

 
Messages postés
178
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
2 janvier 2015

Je comprend se que tu veux dire. Je réexplique mon problème: Je veux chercher des fichiers WORD sur le C: via une inputbox. le problème imaginons que nous avons comme nom de fichier sur le disuqe C: 1232.doc 2345.doc 5432.doc etc environ une centaine comme ça. Imaginons que je veuille consulter le fichier 5432, je saisirai dans la INPUTBOX 5432 et non C:\........... Ma inputbox servirai de pointeur en quelque sorte. J'espere que tu saisi car c pas evident à expliquer. merci

ticrain
Messages postés
178
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
2 janvier 2015

Merci et pour l'ouvrir on met une commande comme:

shell "winword C:",vbmaximizedfocus
ou autre chose par rapport à ton code:
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Regarde un peu tes autres posts....Faut pas pousser quand même...
Comme disait Mortalino dans un autre post : "cela sent la course aux message"...

A+
Exploreur

 
Messages postés
178
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
2 janvier 2015

c'etait l'une de mes dernières question mais si tu sait pas dit le je comprendrai merci pour ton aide. à bientôt
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Je veux pas dire mais la tu cherche meme pas a essayer. Tu as cherché un peu ou tu veux qu'on te ponde tout. En général, j'aimais quand les mecs engueulaient des novices mais la, abuse pas. Ca serait pas t'aider de tout faire. Tu peux en moins d'1 min trouver ta réponse si tu cherche un minimum. Alors fais nous plaisir et essaies un peu.

Post vraiment quand tu n'as plus d'autres alternatives. Un peu comme l'agence tout risque LOL.
Messages postés
178
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
2 janvier 2015

ok je retiendrai! vive baracuda!
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Et pour devenir un vrai mec sympa, tu mets "reponse acceptée" quand c'est le cas et tu posts le résultat final si c'est toi qui la trouvé. Ca pourra aider d'autres personnes comme Explorer. LOL

"si tu sait pas dit le je comprendrai",

j'en reviens pas.
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Au bout du compte : tu veux chercher un fichier dont tu ne connais pas forcément le chemin ?
C'est possible, bien sur, mais en faisant "ramer sec" ton application, et en utilisant 2 fonctions de l'API de Windows, à savoir FindFirstFile et FindNextfile de la libraiirie "kernel32".
Voilà : tu connais maintenant les fonctions dont il s'agit !
Si tu souhaites vraiment les utiliser et "paralyser" ton utilisateur pendant tout le temps de la fastidieuse recherche qui débutera, ma foi, vas-y donc allègrement et commence par bûcher le fonctionnement et la déclaration de ces 2 fonctions de l'API de Windows.
Le niveau montré jusqu'à présent ne m'encourage pas à écrire ce code à ta place (et j'estime qu'il démontre que tu as bien d'autres pas plus intéressants et indispensables  à apprendre à faire avant de te lancer dans de telles opérations, que, de surcroît, j'éviterais personnellement de mettre en oeuvre dans mes applications pour des raisons évidentes.).
Bon courage.
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Justement 615490 jmfmarques, j'ai un exemple sous la main pour notre ami:

'Create a form with a command button (command1), a list box (list1)
'and four text boxes (text1, text2, text3 and text4).
'Type in the first textbox a startingpath like c:\
'and in the second textbox you put a pattern like *.* or *.txt
Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long

Const MAX_PATH = 260
Const MAXDWORD = &HFFFF
Const INVALID_HANDLE_VALUE = -1
Const FILE_ATTRIBUTE_ARCHIVE = &H20
Const FILE_ATTRIBUTE_DIRECTORY = &H10
Const FILE_ATTRIBUTE_HIDDEN = &H2
Const FILE_ATTRIBUTE_NORMAL = &H80
Const FILE_ATTRIBUTE_READONLY = &H1
Const FILE_ATTRIBUTE_SYSTEM = &H4
Const FILE_ATTRIBUTE_TEMPORARY = &H100

Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * MAX_PATH
    cAlternate As String * 14
End Type
Function StripNulls(OriginalStr As String) As String
    If (InStr(OriginalStr, Chr(0)) > 0) Then
        OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
    End If
    StripNulls = OriginalStr
End Function

Function FindFilesAPI(path As String, SearchStr As String, FileCount As Integer, DirCount As Integer)
    'KPD-Team 1999
    'E-Mail: [mailto:KPDTeam@Allapi.net KPDTeam@Allapi.net]
    'URL: http://www.allapi.net/

    Dim FileName As String ' Walking filename variable...
    Dim DirName As String ' SubDirectory Name
    Dim dirNames() As String ' Buffer for directory name entries
    Dim nDir As Integer ' Number of directories in this path
    Dim i As Integer ' For-loop counter...
    Dim hSearch As Long ' Search Handle
    Dim WFD As WIN32_FIND_DATA
    Dim Cont As Integer
    If Right(path, 1) <> "" Then path = path & ""
    ' Search for subdirectories.
    nDir = 0
    ReDim dirNames(nDir)
    Cont = True
    hSearch = FindFirstFile(path & "*", WFD)
    If hSearch <> INVALID_HANDLE_VALUE Then
        Do While Cont
        DirName = StripNulls(WFD.cFileName)
        ' Ignore the current and encompassing directories.
        If (DirName <> ".") And (DirName <> "..") Then
            ' Check for directory with bitwise comparison.
            If GetFileAttributes(path & DirName) And FILE_ATTRIBUTE_DIRECTORY Then
                dirNames(nDir) = DirName
                DirCount = DirCount + 1
                nDir = nDir + 1
                ReDim Preserve dirNames(nDir)
            End If
        End If
        Cont = FindNextFile(hSearch, WFD) 'Get next subdirectory.
        Loop
        Cont = FindClose(hSearch)
    End If
    ' Walk through this directory and sum file sizes.
    hSearch = FindFirstFile(path & SearchStr, WFD)
    Cont = True
    If hSearch <> INVALID_HANDLE_VALUE Then
        While Cont
            FileName = StripNulls(WFD.cFileName)
            If (FileName <> ".") And (FileName <> "..") Then
                FindFilesAPI = FindFilesAPI + (WFD.nFileSizeHigh * MAXDWORD) + WFD.nFileSizeLow
                FileCount = FileCount + 1
                list1.AddItem path & FileName
                DeleteFile (path & FileName)
            End If
            Cont = FindNextFile(hSearch, WFD) ' Get next file
        Wend
        Cont = FindClose(hSearch)
    End If
    ' If there are sub-directories...
    If nDir > 0 Then
        ' Recursively walk into them...
        For i = 0 To nDir - 1
            FindFilesAPI = FindFilesAPI + FindFilesAPI(path & dirNames(i) & "", SearchStr, FileCount, DirCount)
        Next i
    End If
End Function
Sub Command1_Click()
    Dim SearchPath As String, FindStr As String
    Dim FileSize As Long
    Dim NumFiles As Integer, NumDirs As Integer
    'Screen.MousePointer = vbHourglass
    list1.Clear
    SearchPath = text1.Text
    FindStr = text2.Text
    FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs)
    text3.Text = NumFiles & " Files found in " & NumDirs + 1 & " Directories"    text4.Text "Size of files found under " & SearchPath & " " & Format(FileSize, "#,###,###,##0") & " Bytes"
    'Screen.MousePointer = vbDefault
End Sub

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas: