Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/12/2010, 12h27   #1
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
Par défaut Ouverture d'un document word depuis un autre

Bonjour,

Lors d'une fusion word lancée par un ERP, je souhaite ouvrir un autre document word.
Pour cela dans le document à fusionner, j'ai codé:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Explicit
 
Sub AutoOpen()
 
   Dim objDoc As Document, Tableau() As String, i As Integer, fichier As String
 
   ' Récupération du nom du fichier à ouvrir
   Set objDoc = Application.Documents.Open("Z:\TMP\d_xxxxxx.txt")  
   Tableau = Split(objDoc.Sentences.Item(1), ";")  
   objDoc.Close
 
   ' Ouverture du document  
   Documents.Open "I:\" & Tableau(0) & ".doc"  
 
End Sub
Lorsque je lance la fusion depuis l'ERP, le document Word à ouvrir s'ouvre mais la fusion n'arrive pas à son terme (le document ouvert sous Word semble encore tourner).
Je n'ai pas de problème lorsque je fais la même chose en ouvrant le fichier qui sert à la fusion directement.

Merci d'avance.
Julien.
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 13h31   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 978
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 978
Points : 1 582
Points : 1 582
Envoyer un message via MSN à carden752
Bonjour,

il te suffit de rajouter et d'appeler l'ouverture du document aussi dans un objet de type document objdoc2 qu'il te faudra fermer après de la même façon, il ne doit pas y avoir la fenêtre active sur le bon document (document initial)
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 13h59   #3
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
Citation:
Envoyé par carden752 Voir le message
Bonjour,

il te suffit de rajouter et d'appeler l'ouverture du document aussi dans un objet de type document objdoc2 qu'il te faudra fermer après de la même façon, il ne doit pas y avoir la fenêtre active sur le bon document (document initial)
Cela donne quoi concrètement ?
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 14h34   #4
Membre habitué
 
Inscription : novembre 2008
Messages : 238
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 238
Points : 120
Points : 120
Finalement, j'ai trouvé en faisant ceci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Option Explicit
 
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
 
Sub AutoOpen()
 
   Dim objDoc As Document, docp  As Document, Tableau() As String, i As Integer, fichier As String
 
   Set docp = Application.ActiveDocument     
   Set objDoc = Application.Documents.Open("Z:\TMP\d_xxxxxx.txt")  
   Tableau = Split(objDoc.Sentences.Item(1), ";")   
   objDoc.Close
 
   Set objDoc = Nothing
 
   Set objDoc = Application.Documents.Open("I:\" & Tableau(0) & ".doc")   
   Set objDoc = Nothing   
 
   fichier = "I:\" & Tableau(0) & ".PDF"
   ShellExecute 0, "open", fichier, "", "", 0
 
   docp.Activate  
End Sub
juju05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h34.


 
 
 
 
Partenaires

Hébergement Web