ouverture de fichier en VB

  • Initiateur de la discussion olivier
  • Date de début
O

olivier

Guest
Bonjour a tous,

J'aimerais dans une macro excell, ouvrir un fichier word dans le programme word !!

Merci de m'aider , c'est assez important
 
V

Vériland

Guest
Bonsoir Olivier et le Forum,

Tu copies toute cette procédure et le tour est joué...



'====================
Option Explicit

'Vériland Aout 2003
'pour http://www.excel-downloads.com/html/French/forum/messages/1_47240_47240.htm
'
'ouvrir un fichier Word depuis Excel
'après l'avoir sélectionné dans la
'boite de dialogue Ouvrir de Windows...

Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
As String, ByVal lpFile As String, ByVal lpParameters _
As String, ByVal lpDirectory As String, ByVal nShowCmd _
As Long) As Long
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 Ouvrir_Fichier_Word()
Dim Filtre$, DefinirNom$, Repertoire$, NomBoite$, Ouverture$

'paramètres de la boite de dialogue
Filtre = "Fichiers WORD (*.doc)" & Chr(0) & "*.doc" & Chr(0)
DefinirNom = "ParDefaut.doc"
Repertoire = "C:\"
NomBoite = "OUVRIR"

'appel puis ouverture du fichier si sélection
Ouverture = GetFileName(Filtre, DefinirNom, Repertoire, NomBoite)
If Ouverture <> "" Then
ShellExecute 0, "", Ouverture, "", "", 5
End If

End Sub

Function GetFileName(Filtre As String, ParDefaut As String, Initial As String, Titre As String) As String
Dim OpenFile As OPENFILENAME
Dim lReturn As Long

With OpenFile
.lStructSize = Len(OpenFile)
.lpstrFilter = Filtre
.nFilterIndex = 1
.lpstrFile = ParDefaut & String(256 - Len(ParDefaut), 0)
.nMaxFile = Len(OpenFile.lpstrFile) - 1
.lpstrFileTitle = OpenFile.lpstrFile
.nMaxFileTitle = OpenFile.nMaxFile
.lpstrInitialDir = Initial
.lpstrTitle = Titre
.flags = 0
End With
lReturn = GetOpenFileName(OpenFile)

If lReturn = 0 Then
GetFileName = ""
Else
GetFileName = Trim(OpenFile.lpstrFile)
End If

End Function
'====================


en fait lorsque tu activeras Ouvrir_Fichier_Word tu pourras depuis la boite de dialogue Windows ouvrir le fichier Word...

J'ai paramétré celle-ci dans le répertoire C en listant les fichiers Word (doc) présents dans celui-ci...

donc lorsque tu sélectionneras un fichier word, il s'ouvrira bien depuis Word...
smiley_200.gif


A+Veriland.gif


PS : macro à copier depuis le forum, auquel cas tu risques d'avoir les attributs Gras du post dans la procédure...ce qui ne manquera pas de faire beug...lool
 

Discussions similaires

Réponses
4
Affichages
493

Membres actuellement en ligne

Statistiques des forums

Discussions
314 121
Messages
2 106 129
Membres
109 495
dernier inscrit
jerome bonneau