Pilotage de Word par Automation (pb de fenêtre active)
7 réponses
Monkeytoo
Bonjour à tous
Je me trouve dans un formulaire ouvert en boîte de dialogue
dans celui-ci, sur slic d'un bouton, je dois ouvrir un fichier word.
L'exécution se passe bien sauf que Word, après ouverture passe en arrière
plan et l'applic access repasse au premier plan
que puis-je faire ?
merci d'avance
Voici le code :
If Dir$(chemin_base & "Courrier\" & H_Nom_Document) = vbNullString Then
MsgBox "Pas de courrier attaché à cet acte"
Else
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
With objWord
.Visible = True
.Documents.Open (chemin_base & "Courrier\" & H_Nom_Document)
objWord.Activate
End With
Set objWord = Nothing
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonsoir.
Vérifies que ton formulaire dialogue n'est pas en fenêtre indépendante. si ça ne fonctionne toujours pas, lis la page : http://officesystem.access.free.fr/apiisofficerunning.htm, cette api active une application office et la place au premier plan, toujours avec la même condition de fenêtre indépendante (tu risques d'avoir le même problème). je ne sais pas où il faudrait la placer dans ton formulaire. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
Bonjour à tous Je me trouve dans un formulaire ouvert en boîte de dialogue dans celui-ci, sur slic d'un bouton, je dois ouvrir un fichier word. L'exécution se passe bien sauf que Word, après ouverture passe en arrière plan et l'applic access repasse au premier plan que puis-je faire ? merci d'avance Voici le code : If Dir$(chemin_base & "Courrier" & H_Nom_Document) = vbNullString Then MsgBox "Pas de courrier attaché à cet acte" Else Dim objWord As Object Set objWord = CreateObject("Word.Application") With objWord .Visible = True .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Bonsoir.
Vérifies que ton formulaire dialogue n'est pas en fenêtre indépendante.
si ça ne fonctionne toujours pas, lis la page :
http://officesystem.access.free.fr/apiisofficerunning.htm, cette api active
une application office et la place au premier plan, toujours avec la même
condition de fenêtre indépendante (tu risques d'avoir le même problème).
je ne sais pas où il faudrait la placer dans ton formulaire.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" <coiffurevogue@skynet.be> a écrit dans le message de news:
uGYGCcZyEHA.4028@TK2MSFTNGP15.phx.gbl...
Bonjour à tous
Je me trouve dans un formulaire ouvert en boîte de dialogue
dans celui-ci, sur slic d'un bouton, je dois ouvrir un fichier word.
L'exécution se passe bien sauf que Word, après ouverture passe en arrière
plan et l'applic access repasse au premier plan
que puis-je faire ?
merci d'avance
Voici le code :
If Dir$(chemin_base & "Courrier" & H_Nom_Document) = vbNullString Then
MsgBox "Pas de courrier attaché à cet acte"
Else
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
With objWord
.Visible = True
.Documents.Open (chemin_base & "Courrier" & H_Nom_Document)
objWord.Activate
End With
Set objWord = Nothing
End If
Vérifies que ton formulaire dialogue n'est pas en fenêtre indépendante. si ça ne fonctionne toujours pas, lis la page : http://officesystem.access.free.fr/apiisofficerunning.htm, cette api active une application office et la place au premier plan, toujours avec la même condition de fenêtre indépendante (tu risques d'avoir le même problème). je ne sais pas où il faudrait la placer dans ton formulaire. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
Bonjour à tous Je me trouve dans un formulaire ouvert en boîte de dialogue dans celui-ci, sur slic d'un bouton, je dois ouvrir un fichier word. L'exécution se passe bien sauf que Word, après ouverture passe en arrière plan et l'applic access repasse au premier plan que puis-je faire ? merci d'avance Voici le code : If Dir$(chemin_base & "Courrier" & H_Nom_Document) = vbNullString Then MsgBox "Pas de courrier attaché à cet acte" Else Dim objWord As Object Set objWord = CreateObject("Word.Application") With objWord .Visible = True .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Monkeytoo
incompréhensible pour moi J'ai bien copié le module je fais le test comme expliqué si je mets en commentaire le msgbox qui me prévient que word est chargé, l'appli repasse au second plan, si je laisse le msgbox actif, word reste en avant plan
"Raymond [mvp]" a écrit dans le message de news:
Bonsoir.
Vérifies que ton formulaire dialogue n'est pas en fenêtre indépendante. si ça ne fonctionne toujours pas, lis la page : http://officesystem.access.free.fr/apiisofficerunning.htm, cette api active
une application office et la place au premier plan, toujours avec la même condition de fenêtre indépendante (tu risques d'avoir le même problème). je ne sais pas où il faudrait la placer dans ton formulaire. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
Bonjour à tous Je me trouve dans un formulaire ouvert en boîte de dialogue dans celui-ci, sur slic d'un bouton, je dois ouvrir un fichier word. L'exécution se passe bien sauf que Word, après ouverture passe en arrière
plan et l'applic access repasse au premier plan que puis-je faire ? merci d'avance Voici le code : If Dir$(chemin_base & "Courrier" & H_Nom_Document) = vbNullString Then
MsgBox "Pas de courrier attaché à cet acte" Else Dim objWord As Object Set objWord = CreateObject("Word.Application") With objWord .Visible = True .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
incompréhensible pour moi
J'ai bien copié le module
je fais le test comme expliqué
si je mets en commentaire le msgbox qui me prévient que word est chargé,
l'appli repasse au second plan,
si je laisse le msgbox actif, word reste en avant plan
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de
news: OQrLXCayEHA.1404@TK2MSFTNGP11.phx.gbl...
Bonsoir.
Vérifies que ton formulaire dialogue n'est pas en fenêtre indépendante.
si ça ne fonctionne toujours pas, lis la page :
http://officesystem.access.free.fr/apiisofficerunning.htm, cette api
active
une application office et la place au premier plan, toujours avec la même
condition de fenêtre indépendante (tu risques d'avoir le même problème).
je ne sais pas où il faudrait la placer dans ton formulaire.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" <coiffurevogue@skynet.be> a écrit dans le message de news:
uGYGCcZyEHA.4028@TK2MSFTNGP15.phx.gbl...
Bonjour à tous
Je me trouve dans un formulaire ouvert en boîte de dialogue
dans celui-ci, sur slic d'un bouton, je dois ouvrir un fichier word.
L'exécution se passe bien sauf que Word, après ouverture passe en
arrière
plan et l'applic access repasse au premier plan
que puis-je faire ?
merci d'avance
Voici le code :
If Dir$(chemin_base & "Courrier" & H_Nom_Document) = vbNullString
Then
MsgBox "Pas de courrier attaché à cet acte"
Else
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
With objWord
.Visible = True
.Documents.Open (chemin_base & "Courrier" & H_Nom_Document)
objWord.Activate
End With
Set objWord = Nothing
End If
incompréhensible pour moi J'ai bien copié le module je fais le test comme expliqué si je mets en commentaire le msgbox qui me prévient que word est chargé, l'appli repasse au second plan, si je laisse le msgbox actif, word reste en avant plan
"Raymond [mvp]" a écrit dans le message de news:
Bonsoir.
Vérifies que ton formulaire dialogue n'est pas en fenêtre indépendante. si ça ne fonctionne toujours pas, lis la page : http://officesystem.access.free.fr/apiisofficerunning.htm, cette api active
une application office et la place au premier plan, toujours avec la même condition de fenêtre indépendante (tu risques d'avoir le même problème). je ne sais pas où il faudrait la placer dans ton formulaire. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
Bonjour à tous Je me trouve dans un formulaire ouvert en boîte de dialogue dans celui-ci, sur slic d'un bouton, je dois ouvrir un fichier word. L'exécution se passe bien sauf que Word, après ouverture passe en arrière
plan et l'applic access repasse au premier plan que puis-je faire ? merci d'avance Voici le code : If Dir$(chemin_base & "Courrier" & H_Nom_Document) = vbNullString Then
MsgBox "Pas de courrier attaché à cet acte" Else Dim objWord As Object Set objWord = CreateObject("Word.Application") With objWord .Visible = True .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Raymond [mvp]
tu dois avoir de la programmation qui fait que l'appli access repasse active, donc en avant-plan.l'ouverture de word ou la mise en avant-plan de word doit être la dernière instruction exécutée sous access. que ça ne marche pas après la fermeture du msgbox, c'est normal car access redevient actif pour fermer le msgbox.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
incompréhensible pour moi J'ai bien copié le module je fais le test comme expliqué si je mets en commentaire le msgbox qui me prévient que word est chargé, l'appli repasse au second plan, si je laisse le msgbox actif, word reste en avant plan
tu dois avoir de la programmation qui fait que l'appli access repasse
active, donc en avant-plan.l'ouverture de word ou la mise en avant-plan de
word doit être la dernière instruction exécutée sous access.
que ça ne marche pas après la fermeture du msgbox, c'est normal car access
redevient actif pour fermer le msgbox.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" <coiffurevogue@skynet.be> a écrit dans le message de news:
uboN59oyEHA.3408@TK2MSFTNGP10.phx.gbl...
incompréhensible pour moi
J'ai bien copié le module
je fais le test comme expliqué
si je mets en commentaire le msgbox qui me prévient que word est chargé,
l'appli repasse au second plan,
si je laisse le msgbox actif, word reste en avant plan
tu dois avoir de la programmation qui fait que l'appli access repasse active, donc en avant-plan.l'ouverture de word ou la mise en avant-plan de word doit être la dernière instruction exécutée sous access. que ça ne marche pas après la fermeture du msgbox, c'est normal car access redevient actif pour fermer le msgbox.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
incompréhensible pour moi J'ai bien copié le module je fais le test comme expliqué si je mets en commentaire le msgbox qui me prévient que word est chargé, l'appli repasse au second plan, si je laisse le msgbox actif, word reste en avant plan
Monkeytoo
je me suis mal exprimé Cela fonctionne avec le msgbox actif j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme puis je repasse sur le msgbox de acces (ce qui est tout à fait normal) mais si je mets en commentaire la ligne d'affichage du msgbox, word repasse automatiquement en arrière-plan La dernière ligne de commande access est dans le code de ma première demande .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Rien d'autre qui suit
"Raymond [mvp]" a écrit dans le message de news: #
tu dois avoir de la programmation qui fait que l'appli access repasse active, donc en avant-plan.l'ouverture de word ou la mise en avant-plan de word doit être la dernière instruction exécutée sous access. que ça ne marche pas après la fermeture du msgbox, c'est normal car access redevient actif pour fermer le msgbox.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
incompréhensible pour moi J'ai bien copié le module je fais le test comme expliqué si je mets en commentaire le msgbox qui me prévient que word est chargé, l'appli repasse au second plan, si je laisse le msgbox actif, word reste en avant plan
je me suis mal exprimé
Cela fonctionne avec le msgbox actif
j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme
puis je repasse sur le msgbox de acces (ce qui est tout à fait normal)
mais si je mets en commentaire la ligne d'affichage du msgbox, word repasse
automatiquement en arrière-plan
La dernière ligne de commande access est dans le code de ma première demande
.Documents.Open (chemin_base & "Courrier" & H_Nom_Document)
objWord.Activate
End With
Set objWord = Nothing
End If
Rien d'autre qui suit
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de
news: #5eH5JpyEHA.1400@TK2MSFTNGP11.phx.gbl...
tu dois avoir de la programmation qui fait que l'appli access repasse
active, donc en avant-plan.l'ouverture de word ou la mise en avant-plan de
word doit être la dernière instruction exécutée sous access.
que ça ne marche pas après la fermeture du msgbox, c'est normal car access
redevient actif pour fermer le msgbox.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" <coiffurevogue@skynet.be> a écrit dans le message de news:
uboN59oyEHA.3408@TK2MSFTNGP10.phx.gbl...
incompréhensible pour moi
J'ai bien copié le module
je fais le test comme expliqué
si je mets en commentaire le msgbox qui me prévient que word est chargé,
l'appli repasse au second plan,
si je laisse le msgbox actif, word reste en avant plan
je me suis mal exprimé Cela fonctionne avec le msgbox actif j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme puis je repasse sur le msgbox de acces (ce qui est tout à fait normal) mais si je mets en commentaire la ligne d'affichage du msgbox, word repasse automatiquement en arrière-plan La dernière ligne de commande access est dans le code de ma première demande .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Rien d'autre qui suit
"Raymond [mvp]" a écrit dans le message de news: #
tu dois avoir de la programmation qui fait que l'appli access repasse active, donc en avant-plan.l'ouverture de word ou la mise en avant-plan de word doit être la dernière instruction exécutée sous access. que ça ne marche pas après la fermeture du msgbox, c'est normal car access redevient actif pour fermer le msgbox.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
incompréhensible pour moi J'ai bien copié le module je fais le test comme expliqué si je mets en commentaire le msgbox qui me prévient que word est chargé, l'appli repasse au second plan, si je laisse le msgbox actif, word reste en avant plan
Raymond [mvp]
et si ton formulaire n'est pas en mode dialogue, c'est pareil ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
je me suis mal exprimé Cela fonctionne avec le msgbox actif j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme puis je repasse sur le msgbox de acces (ce qui est tout à fait normal) mais si je mets en commentaire la ligne d'affichage du msgbox, word repasse automatiquement en arrière-plan La dernière ligne de commande access est dans le code de ma première demande .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Rien d'autre qui suit
et si ton formulaire n'est pas en mode dialogue, c'est pareil ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" <coiffurevogue@skynet.be> a écrit dans le message de news:
eF3msepyEHA.2568@TK2MSFTNGP11.phx.gbl...
je me suis mal exprimé
Cela fonctionne avec le msgbox actif
j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme
puis je repasse sur le msgbox de acces (ce qui est tout à fait normal)
mais si je mets en commentaire la ligne d'affichage du msgbox, word
repasse
automatiquement en arrière-plan
La dernière ligne de commande access est dans le code de ma première
demande
.Documents.Open (chemin_base & "Courrier" & H_Nom_Document)
objWord.Activate
End With
Set objWord = Nothing
End If
et si ton formulaire n'est pas en mode dialogue, c'est pareil ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
je me suis mal exprimé Cela fonctionne avec le msgbox actif j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme puis je repasse sur le msgbox de acces (ce qui est tout à fait normal) mais si je mets en commentaire la ligne d'affichage du msgbox, word repasse automatiquement en arrière-plan La dernière ligne de commande access est dans le code de ma première demande .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Rien d'autre qui suit
Monkeytoo
s'il n'est pas en boîte de dialogue, pas de soucis word reste en avant-plan étrange "Raymond [mvp]" a écrit dans le message de news: #
et si ton formulaire n'est pas en mode dialogue, c'est pareil ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
je me suis mal exprimé Cela fonctionne avec le msgbox actif j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme puis je repasse sur le msgbox de acces (ce qui est tout à fait normal) mais si je mets en commentaire la ligne d'affichage du msgbox, word repasse automatiquement en arrière-plan La dernière ligne de commande access est dans le code de ma première demande .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Rien d'autre qui suit
s'il n'est pas en boîte de dialogue, pas de soucis
word reste en avant-plan
étrange
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de
news: #EYGLpuyEHA.3588@TK2MSFTNGP14.phx.gbl...
et si ton formulaire n'est pas en mode dialogue, c'est pareil ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" <coiffurevogue@skynet.be> a écrit dans le message de news:
eF3msepyEHA.2568@TK2MSFTNGP11.phx.gbl...
je me suis mal exprimé
Cela fonctionne avec le msgbox actif
j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme
puis je repasse sur le msgbox de acces (ce qui est tout à fait normal)
mais si je mets en commentaire la ligne d'affichage du msgbox, word
repasse
automatiquement en arrière-plan
La dernière ligne de commande access est dans le code de ma première
demande
.Documents.Open (chemin_base & "Courrier" & H_Nom_Document)
objWord.Activate
End With
Set objWord = Nothing
End If
s'il n'est pas en boîte de dialogue, pas de soucis word reste en avant-plan étrange "Raymond [mvp]" a écrit dans le message de news: #
et si ton formulaire n'est pas en mode dialogue, c'est pareil ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news:
je me suis mal exprimé Cela fonctionne avec le msgbox actif j'ai donc word qui reste en avaant plan jusqu'à ce que je le ferme puis je repasse sur le msgbox de acces (ce qui est tout à fait normal) mais si je mets en commentaire la ligne d'affichage du msgbox, word repasse automatiquement en arrière-plan La dernière ligne de commande access est dans le code de ma première demande .Documents.Open (chemin_base & "Courrier" & H_Nom_Document) objWord.Activate End With Set objWord = Nothing End If
Rien d'autre qui suit
Raymond [mvp]
Je crois que tu connais la solution, il va falloir opter pour le meilleur rapport "qualité/prix", comme on dit. le formulaire étant en acdialog, il est automatiquement placé en fenêtre indépendante donc devant. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news: OeXca$
s'il n'est pas en boîte de dialogue, pas de soucis word reste en avant-plan étrange
Je crois que tu connais la solution, il va falloir opter pour le meilleur
rapport "qualité/prix", comme on dit.
le formulaire étant en acdialog, il est automatiquement placé en fenêtre
indépendante donc devant.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" <coiffurevogue@skynet.be> a écrit dans le message de news:
OeXca$yyEHA.2568@TK2MSFTNGP10.phx.gbl...
s'il n'est pas en boîte de dialogue, pas de soucis
word reste en avant-plan
étrange
Je crois que tu connais la solution, il va falloir opter pour le meilleur rapport "qualité/prix", comme on dit. le formulaire étant en acdialog, il est automatiquement placé en fenêtre indépendante donc devant. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Monkeytoo" a écrit dans le message de news: OeXca$
s'il n'est pas en boîte de dialogue, pas de soucis word reste en avant-plan étrange