Ouvrir un fichier depuis VBA
vero88360
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais savoir comment je pourrais faire pour ouvrir un fichier pdf via VBA. Le souci c'est que je ne trouve pas de tutoriel pour m'expliquer de A à Z le cheminement. Je ne suis vraiment pas douée sur VBA, mais j'aurais vraiment besoin de ce genre de chose, qui m'aiderait beaucoup dans mon travail.
Merci de m'aiguiller où de me donner des sites pour m'aider dans ma recherche.
Cordialement
Véronique
Je souhaiterais savoir comment je pourrais faire pour ouvrir un fichier pdf via VBA. Le souci c'est que je ne trouve pas de tutoriel pour m'expliquer de A à Z le cheminement. Je ne suis vraiment pas douée sur VBA, mais j'aurais vraiment besoin de ce genre de chose, qui m'aiderait beaucoup dans mon travail.
Merci de m'aiguiller où de me donner des sites pour m'aider dans ma recherche.
Cordialement
Véronique
A voir également:
- Ouvrir un fichier depuis VBA
- Comment ouvrir un fichier epub ? - Guide
- Comment ouvrir un fichier bin ? - Guide
- Ouvrir un fichier .dat - Guide
- Comment ouvrir un fichier docx ? - Guide
- Comment ouvrir un fichier 7z - Guide
4 réponses
Le fichier ne sera pas toujours le même.
Ce que je souhaiterais c'est quand je clique sur une case où j'aurai noté dedans "pdf pour moi" j'arrive automatiquement sur le pdf en question et je n'aurais plus qu'a l'imprimer.
Le lien hypertexte ne suffit pas car dans la case c'est le lien qui est noté et je souhaiterais que se soit la description du fichier pdf écrit par mes soins.
Merci
Ce que je souhaiterais c'est quand je clique sur une case où j'aurai noté dedans "pdf pour moi" j'arrive automatiquement sur le pdf en question et je n'aurais plus qu'a l'imprimer.
Le lien hypertexte ne suffit pas car dans la case c'est le lien qui est noté et je souhaiterais que se soit la description du fichier pdf écrit par mes soins.
Merci
RE
Je vous donne un exemple de code
Ouvrez le volet Visual Basic
Dans un module copiez le code suivant:
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
Declare Function ShellExecuteForExplore Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, lpParameters As Any, lpDirectory As Any, ByVal nShowCmd As Long) As Long
Double cliquez sur la feuille ou vous allez saisir le fichier et copiez le code suivant et adaptez le
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Nom_Fichier
Dim Chemin_Fichier
Dim hwndSim
'le texte de la ligne de la cellule sélectionnée s'affiche en rouge
If Flag_Click Then
Flag_Click = False
Exit Sub
End If
'Nom cellule a changer, ici A4
If Not Application.Intersect(Target, Range("A4")) Is Nothing Then 'la macro est valable pour la plage A4
If Target.Count > 1 Then Exit Sub 'si plus d'une cellule sélectionnée, la macro s'arrete
Chemin_Fichier = "D:\Docs\Test\shell_\"
Nom_Fichier = Cells(Target.Row, Target.Column)
'Ligne de Code ci-dessous recuperee sur le site Code-source ou developpez.com !!!
'Permet de lancer un fichier sans donner le chemin du .EXE
hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_Fichier & Nom_Fichier, 0, 0, 1)
End If
End Sub
Essayez et rendez-compte
Bonne suite
Je vous donne un exemple de code
Ouvrez le volet Visual Basic
Dans un module copiez le code suivant:
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
Declare Function ShellExecuteForExplore Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, lpParameters As Any, lpDirectory As Any, ByVal nShowCmd As Long) As Long
Double cliquez sur la feuille ou vous allez saisir le fichier et copiez le code suivant et adaptez le
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Nom_Fichier
Dim Chemin_Fichier
Dim hwndSim
'le texte de la ligne de la cellule sélectionnée s'affiche en rouge
If Flag_Click Then
Flag_Click = False
Exit Sub
End If
'Nom cellule a changer, ici A4
If Not Application.Intersect(Target, Range("A4")) Is Nothing Then 'la macro est valable pour la plage A4
If Target.Count > 1 Then Exit Sub 'si plus d'une cellule sélectionnée, la macro s'arrete
Chemin_Fichier = "D:\Docs\Test\shell_\"
Nom_Fichier = Cells(Target.Row, Target.Column)
'Ligne de Code ci-dessous recuperee sur le site Code-source ou developpez.com !!!
'Permet de lancer un fichier sans donner le chemin du .EXE
hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_Fichier & Nom_Fichier, 0, 0, 1)
End If
End Sub
Essayez et rendez-compte
Bonne suite
Bonjour,
Je viens d'essayé (car je n'ai pas toujours le temps je dois le faire quand j'ai un peu de temps au boulot) j'ai rentré :
Dans module 1 :
Sub test1()
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
Declare Function ShellExecuteForExplore Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, lpParameters As Any, lpDirectory As Any, ByVal nShowCmd As Long) As Long
End Sub
et ensuite dans la feuil1 :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Nom_Fichier
Dim Chemin_Fichier
Dim hwndSim
'Nom cellule a changer, ici A4
If Not Application.Intersect(Target, Range("A4")) Is Nothing Then 'la macro est valable pour la plage A4
If Target.Count > 1 Then Exit Sub 'si plus d'une cellule sélectionnée, la macro s'arrete
Chemin_Fichier = "\\serveur\Travail\BE\DOC TECHNIQUE\VITRAGE\Swisspacer.pdf"
Nom_Fichier = Cells(Target.Row, Target.Column)
'Ligne de Code ci-dessous recuperee sur le site Code-source ou developpez.com !!!
'Permet de lancer un fichier sans donner le chemin du .EXE
hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_Fichier & Nom_Fichier, 0, 0, 1)
End If
End Sub
Quand je démarre la macro j'ai une erreur qui me dit :
Erreur de compilation: seul des commentaires peuvent apparaitre après End Sub,End Function ou End Property
Pourriez-vous m'aider ? c'est surement pas bien compliquer sauf que je suis très mauvaise donc ... :(
Merci
Je viens d'essayé (car je n'ai pas toujours le temps je dois le faire quand j'ai un peu de temps au boulot) j'ai rentré :
Dans module 1 :
Sub test1()
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
Declare Function ShellExecuteForExplore Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, lpParameters As Any, lpDirectory As Any, ByVal nShowCmd As Long) As Long
End Sub
et ensuite dans la feuil1 :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Nom_Fichier
Dim Chemin_Fichier
Dim hwndSim
'Nom cellule a changer, ici A4
If Not Application.Intersect(Target, Range("A4")) Is Nothing Then 'la macro est valable pour la plage A4
If Target.Count > 1 Then Exit Sub 'si plus d'une cellule sélectionnée, la macro s'arrete
Chemin_Fichier = "\\serveur\Travail\BE\DOC TECHNIQUE\VITRAGE\Swisspacer.pdf"
Nom_Fichier = Cells(Target.Row, Target.Column)
'Ligne de Code ci-dessous recuperee sur le site Code-source ou developpez.com !!!
'Permet de lancer un fichier sans donner le chemin du .EXE
hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_Fichier & Nom_Fichier, 0, 0, 1)
End If
End Sub
Quand je démarre la macro j'ai une erreur qui me dit :
Erreur de compilation: seul des commentaires peuvent apparaitre après End Sub,End Function ou End Property
Pourriez-vous m'aider ? c'est surement pas bien compliquer sauf que je suis très mauvaise donc ... :(
Merci
Bonjour et bonnes fetes a vous,
Un exemple que vous pourrez recuperer par le lien ci-dessous. Ce sera plus simple
https://www.cjoint.com/?ALCpPfrfZsW
Bonne suite
Un exemple que vous pourrez recuperer par le lien ci-dessous. Ce sera plus simple
https://www.cjoint.com/?ALCpPfrfZsW
Bonne suite