Pb instruction VBA ouverture Word
Résolu
Zebulon97
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
Zebulon97 Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
Zebulon97 Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre un problème dans une instruction VBA. Jusqu'à présent en Office 2003 ou 2007, j'ouvrais Word et Excel avec l'instruction suivante :
Call Shell("""winword.exe"" ""\\srv2008\linea\Fichiers ACCESS 2000\Pack Consultation des entreprises\Entreprises non retenues.doc", 1).
Depuis que nous sommes passés en Office 2010 et 2013, cette instruction ne fonctionne plus. Access ne semble pas trouver Word ni Excel.
En passant par la commande exécuter du menu programme winword.exe ouvre bien Word.
J'utilise cette instruction car la base concernée est distribuée sur différents postes avec des OS différents XP, Seven donc des chemins d'accès à Office différents.
Si quelqu'un à une idée, je suis preneur.
Bonne fin d'après midi à tous, cordialement.
Zebulon
Je rencontre un problème dans une instruction VBA. Jusqu'à présent en Office 2003 ou 2007, j'ouvrais Word et Excel avec l'instruction suivante :
Call Shell("""winword.exe"" ""\\srv2008\linea\Fichiers ACCESS 2000\Pack Consultation des entreprises\Entreprises non retenues.doc", 1).
Depuis que nous sommes passés en Office 2010 et 2013, cette instruction ne fonctionne plus. Access ne semble pas trouver Word ni Excel.
En passant par la commande exécuter du menu programme winword.exe ouvre bien Word.
J'utilise cette instruction car la base concernée est distribuée sur différents postes avec des OS différents XP, Seven donc des chemins d'accès à Office différents.
Si quelqu'un à une idée, je suis preneur.
Bonne fin d'après midi à tous, cordialement.
Zebulon
A voir également:
- Pb instruction VBA ouverture Word
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Word et excel gratuit - Guide
- Espace insécable word - Guide
- Supprimer page word - Guide
4 réponses
Bonsoir,
Voici ce qu'en dit le didacticiel VBA Access (F1), si ça peut t'aider:
Call, instruction, exemple
' Appelle une fonction intrinsèque. La valeur renvoyée par la fonction est abandonnée.
Call Shell(AppName, 1)
' AppName contient le chemin d'accès du fichier exécutable.
Bonne suite
Voici ce qu'en dit le didacticiel VBA Access (F1), si ça peut t'aider:
Call, instruction, exemple
' Appelle une fonction intrinsèque. La valeur renvoyée par la fonction est abandonnée.
Call Shell(AppName, 1)
' AppName contient le chemin d'accès du fichier exécutable.
Bonne suite
Bonjour tessel75,
Merci pour ta réponse.
Je l'ai testé, mais le problème persiste WINWORD.EXE renvoie fichier introuvable.
Si j'indique NOTEPAD.EXE l'exécutable est reconnu.
Je pense que WINWORD.EXE semble poser problème à ACCESS dans Office 2010 et 2013 et n'ouvre pas Word.
Cordialement.
Merci pour ta réponse.
Je l'ai testé, mais le problème persiste WINWORD.EXE renvoie fichier introuvable.
Si j'indique NOTEPAD.EXE l'exécutable est reconnu.
Je pense que WINWORD.EXE semble poser problème à ACCESS dans Office 2010 et 2013 et n'ouvre pas Word.
Cordialement.
Re..
Je pense que tu ne m'as pas compris. Moi je comprends de la remarque du didacticiel Access que la syntaxe est changée; il faudrait essayé en entrant:
Je pense que tu ne m'as pas compris. Moi je comprends de la remarque du didacticiel Access que la syntaxe est changée; il faudrait essayé en entrant:
Call Shell(" \\srv2008\linea\Fichiers ACCESS 2000\Pack Consultation des entreprises\Entreprises non retenues.doc", 1).Ou bien aller regarder dans les profondeurs de Office si MS n'a pas abandonné l'appellation "WinWord"
On m'a fourni la solution.
dans un module existant, ajoutez cette déclaration avant toute autre déclaration de fonction ou de procédure :
________________________________________
Private Declare Function apiShellExecute 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
________________________________________
Public Sub Open_WordFile(ByVal strPathFilePath)
Dim lngResult As Long
On Error GoTo GestError
lngResult = apiShellExecute(0, "open", strPathFilePath, vbNullChar, vbNullChar, 0)
Fin:
Exit Sub
GestError:
'Gestion d'erreur à définir
GoTo Fin
End Sub
Cela fonctionne.
Merci pour l'attention apportée à mon problème.
dans un module existant, ajoutez cette déclaration avant toute autre déclaration de fonction ou de procédure :
________________________________________
Private Declare Function apiShellExecute 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
________________________________________
Public Sub Open_WordFile(ByVal strPathFilePath)
Dim lngResult As Long
On Error GoTo GestError
lngResult = apiShellExecute(0, "open", strPathFilePath, vbNullChar, vbNullChar, 0)
Fin:
Exit Sub
GestError:
'Gestion d'erreur à définir
GoTo Fin
End Sub
Cela fonctionne.
Merci pour l'attention apportée à mon problème.