Ouvrir des fichiers WORD via une INPUTBOX

Résolu
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015 - 11 avril 2007 à 13:34
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 - 11 avril 2007 à 15:20
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
A voir également:

20 réponses

cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
11 avril 2007 à 14:42
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"
3
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
11 avril 2007 à 13:37
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:
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
11 avril 2007 à 13:41
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) .....
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
11 avril 2007 à 13:41
Salut,

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

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

A+
Exploreur

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 avril 2007 à 13:41
Merci mais c'est moi qui ai créé ce salon et les réponses ne me conviennent pas merci ken meme.
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 avril 2007 à 13:46
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
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
11 avril 2007 à 13:46
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...
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
11 avril 2007 à 13:47
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

 
0
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
11 avril 2007 à 14:03
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:
0
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
11 avril 2007 à 14:06
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:
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
11 avril 2007 à 14:13
Salut Drikce06,

Oubli de ) à la fin

A+
Exploreur

 
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 avril 2007 à 14:32
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
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 avril 2007 à 14:56
Merci et pour l'ouvrir on met une commande comme:

shell "winword C:",vbmaximizedfocus
ou autre chose par rapport à ton code:
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
11 avril 2007 à 14:58
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

 
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 avril 2007 à 15:00
c'etait l'une de mes dernières question mais si tu sait pas dit le je comprendrai merci pour ton aide. à bientôt
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
11 avril 2007 à 15:01
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.
0
ticrain Messages postés 178 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 2 janvier 2015
11 avril 2007 à 15:03
ok je retiendrai! vive baracuda!
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
11 avril 2007 à 15:11
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.
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
11 avril 2007 à 15:16
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.
0
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
11 avril 2007 à 15:20
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:
0
Rejoignez-nous