Bonjour,
Je cherche à créer un document Word, à partir d'un programme html/javascript
exécuté sur un PC client équipé de Word 2000. Je me sers pour ce faire
d'instructions VBA transposées en javascript.
Je crée sous javascript une instance Word et j'ouvre (ou crée si n'existe
pas) le document filedocpath par le code suivant
Jusque là tout se passe bien, et je peux écrire dans le document et sauver
les modifs.
Le problème est que je les instructions "standards"
wordapp.Documents.Close()
wordapp.Quit()
pour fermer le document et quitter Word génèrent toutes deux des erreurs,
quelles soient isolées ou les deux dans cet ordre.
En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft
http://support.microsoft.com/default.aspx?scid=kb;en-us;315981
qui cite ce problème venant du fait que des événements Close et Quit ont le
même nom que les méthodes correspondantes.
Cependant, les solutions conseillées :
--------
Explicitly cast the object to the correct interface before you call the Quit
method. For example, you can use the following:
CType(oWordApp, Word._Application).Quit()
• Change the variable declaration to use the extended Class wrapper object
for the object. For example, instead of using Word.Application, change the
declaration to resemble the following:
Dim oWordApp As New Word.ApplicationClass()
----------
sont du code VBA pur et dur que je ne sais transposer en javascript.
J'ai essayé en vain :
wordapp = GetObject("", "Word._Application");
wordapp = new ActiveXObject("Word._Application");
J'ai essayé aussi diverses valeurs d'arguments optionnels des méthodes Close
et Quit. Nada.
Je n'ai pas le code d'erreur résultant des erreurs!
Merci d'avance pour toute suggestion ou solution.
Cordialement
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
Anacoluthe
Bonjour !
'smr78' nous a écrit ...
Je cherche à créer un document Word, à partir d'un programme html/javascript Le problème est que je les instructions "standards" wordapp.Documents.Close() wordapp.Quit() pour fermer le document et quitter Word génèrent toutes deux des erreurs, quelles soient isolées ou les deux dans cet ordre. En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft http://support.microsoft.com/default.aspx?scid=kb;en-us;315981 qui cite ce problème venant du fait que des événements Close et Quit ont le même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant wordApp.Run("FileClose") ou wordApp.Run("FileCloseAll") WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Bonjour !
'smr78' nous a écrit ...
Je cherche à créer un document Word, à partir d'un programme html/javascript
Le problème est que je les instructions "standards"
wordapp.Documents.Close()
wordapp.Quit()
pour fermer le document et quitter Word génèrent toutes deux des erreurs,
quelles soient isolées ou les deux dans cet ordre.
En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft
http://support.microsoft.com/default.aspx?scid=kb;en-us;315981
qui cite ce problème venant du fait que des événements Close et Quit ont le
même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant
wordApp.Run("FileClose")
ou wordApp.Run("FileCloseAll")
WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe
« L'ambiguïté est une richesse. »
- Jorge Luis BORGES
Je cherche à créer un document Word, à partir d'un programme html/javascript Le problème est que je les instructions "standards" wordapp.Documents.Close() wordapp.Quit() pour fermer le document et quitter Word génèrent toutes deux des erreurs, quelles soient isolées ou les deux dans cet ordre. En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft http://support.microsoft.com/default.aspx?scid=kb;en-us;315981 qui cite ce problème venant du fait que des événements Close et Quit ont le même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant wordApp.Run("FileClose") ou wordApp.Run("FileCloseAll") WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
smr78
Bonjour !
'smr78' nous a écrit ...
Je cherche à créer un document Word, à partir d'un programme html/javascript Le problème est que je les instructions "standards" wordapp.Documents.Close() wordapp.Quit() pour fermer le document et quitter Word génèrent toutes deux des erreurs, quelles soient isolées ou les deux dans cet ordre. En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft http://support.microsoft.com/default.aspx?scid=kb;en-us;315981 qui cite ce problème venant du fait que des événements Close et Quit ont le même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant wordApp.Run("FileClose") ou wordApp.Run("FileCloseAll") WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Merci d'avoir répondu si vite.
Désolé, aucune des propositions ne "passe". Je vais essayer, avec un debugger de script, de récupérer plus d'info sur l'erreur; J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire "FileClose" et "Run", mais je crois que ça n'a pas d'influence en automation? Cordialement
Bonjour !
'smr78' nous a écrit ...
Je cherche à créer un document Word, à partir d'un programme html/javascript
Le problème est que je les instructions "standards"
wordapp.Documents.Close()
wordapp.Quit()
pour fermer le document et quitter Word génèrent toutes deux des erreurs,
quelles soient isolées ou les deux dans cet ordre.
En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft
http://support.microsoft.com/default.aspx?scid=kb;en-us;315981
qui cite ce problème venant du fait que des événements Close et Quit ont le
même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant
wordApp.Run("FileClose")
ou wordApp.Run("FileCloseAll")
WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe
« L'ambiguïté est une richesse. »
- Jorge Luis BORGES
Merci d'avoir répondu si vite.
Désolé, aucune des propositions ne "passe".
Je vais essayer, avec un debugger de script, de récupérer plus d'info sur
l'erreur;
J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire
"FileClose" et "Run", mais je crois que ça n'a pas d'influence en automation?
Cordialement
Je cherche à créer un document Word, à partir d'un programme html/javascript Le problème est que je les instructions "standards" wordapp.Documents.Close() wordapp.Quit() pour fermer le document et quitter Word génèrent toutes deux des erreurs, quelles soient isolées ou les deux dans cet ordre. En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft http://support.microsoft.com/default.aspx?scid=kb;en-us;315981 qui cite ce problème venant du fait que des événements Close et Quit ont le même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant wordApp.Run("FileClose") ou wordApp.Run("FileCloseAll") WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Merci d'avoir répondu si vite.
Désolé, aucune des propositions ne "passe". Je vais essayer, avec un debugger de script, de récupérer plus d'info sur l'erreur; J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire "FileClose" et "Run", mais je crois que ça n'a pas d'influence en automation? Cordialement
Youky
Hello, A tester car je ne connais pas javascript A partir de VB5 j'utilise ce code pour fermer Word, Bonne chance Youky Dim AppWrd As Object On Error Resume Next Set AppWrd = GetObject(, "Word.Application") AppWrd.Quit Set AppWrd = Nothing
"smr78" a écrit dans le message de news:
Bonjour !
'smr78' nous a écrit ...
Je cherche à créer un document Word, à partir d'un programme html/javascript
Le problème est que je les instructions "standards" wordapp.Documents.Close() wordapp.Quit() pour fermer le document et quitter Word génèrent toutes deux des erreurs,
quelles soient isolées ou les deux dans cet ordre. En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft http://support.microsoft.com/default.aspx?scid=kb;en-us;315981 qui cite ce problème venant du fait que des événements Close et Quit ont le
même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant wordApp.Run("FileClose") ou wordApp.Run("FileCloseAll") WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Merci d'avoir répondu si vite.
Désolé, aucune des propositions ne "passe". Je vais essayer, avec un debugger de script, de récupérer plus d'info sur l'erreur; J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire "FileClose" et "Run", mais je crois que ça n'a pas d'influence en automation?
Cordialement
Hello,
A tester car je ne connais pas javascript
A partir de VB5 j'utilise ce code pour fermer Word,
Bonne chance
Youky
Dim AppWrd As Object
On Error Resume Next
Set AppWrd = GetObject(, "Word.Application")
AppWrd.Quit
Set AppWrd = Nothing
"smr78" <smr78@discussions.microsoft.com> a écrit dans le message de news:
6380A426-8D7A-47C5-BAE2-80651E6BA63A@microsoft.com...
Bonjour !
'smr78' nous a écrit ...
Je cherche à créer un document Word, à partir d'un programme
html/javascript
Le problème est que je les instructions "standards"
wordapp.Documents.Close()
wordapp.Quit()
pour fermer le document et quitter Word génèrent toutes deux des
erreurs,
quelles soient isolées ou les deux dans cet ordre.
En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft
http://support.microsoft.com/default.aspx?scid=kb;en-us;315981
qui cite ce problème venant du fait que des événements Close et Quit
ont le
même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant
wordApp.Run("FileClose")
ou wordApp.Run("FileCloseAll")
WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe
« L'ambiguïté est une richesse. »
- Jorge Luis BORGES
Merci d'avoir répondu si vite.
Désolé, aucune des propositions ne "passe".
Je vais essayer, avec un debugger de script, de récupérer plus d'info sur
l'erreur;
J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire
"FileClose" et "Run", mais je crois que ça n'a pas d'influence en
automation?
Hello, A tester car je ne connais pas javascript A partir de VB5 j'utilise ce code pour fermer Word, Bonne chance Youky Dim AppWrd As Object On Error Resume Next Set AppWrd = GetObject(, "Word.Application") AppWrd.Quit Set AppWrd = Nothing
"smr78" a écrit dans le message de news:
Bonjour !
'smr78' nous a écrit ...
Je cherche à créer un document Word, à partir d'un programme html/javascript
Le problème est que je les instructions "standards" wordapp.Documents.Close() wordapp.Quit() pour fermer le document et quitter Word génèrent toutes deux des erreurs,
quelles soient isolées ou les deux dans cet ordre. En cherchant sur le Web, j'ai trouvé une note dans la KB Microsoft http://support.microsoft.com/default.aspx?scid=kb;en-us;315981 qui cite ce problème venant du fait que des événements Close et Quit ont le
même nom que les méthodes correspondantes.
Méthodes et événements ambigus : essayez peut-être en formulant wordApp.Run("FileClose") ou wordApp.Run("FileCloseAll") WordApp.Run("FileExit")
Est-ce que ça 'passe' mieux ???
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Merci d'avoir répondu si vite.
Désolé, aucune des propositions ne "passe". Je vais essayer, avec un debugger de script, de récupérer plus d'info sur l'erreur; J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire "FileClose" et "Run", mais je crois que ça n'a pas d'influence en automation?
Cordialement
Anacoluthe
Bonjour !
'smr78' nous a écrit ...
Méthodes et événements ambigus : essayez peut-être en formulant wordApp.Run("FileClose") ou wordApp.Run("FileCloseAll") WordApp.Run("FileExit")
Désolé, aucune des propositions ne "passe". J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire "FileClose" et "Run", mais je crois que ça n'a pas d'influence en automation?
Dans un script d'automation en vbs, majuscules comme minuscules, wordApp.Run("commande") ou wordApp.Run "Commande" marchent bien ... Pourquoi pas en javascript ? Si vous êtes certain de votre syntaxe voyez plutôt sur un forum javascript :-p
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Bonjour !
'smr78' nous a écrit ...
Méthodes et événements ambigus : essayez peut-être en formulant
wordApp.Run("FileClose")
ou wordApp.Run("FileCloseAll")
WordApp.Run("FileExit")
Désolé, aucune des propositions ne "passe".
J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire
"FileClose" et "Run", mais je crois que ça n'a pas d'influence en automation?
Dans un script d'automation en vbs, majuscules comme minuscules,
wordApp.Run("commande") ou wordApp.Run "Commande" marchent bien ...
Pourquoi pas en javascript ? Si vous êtes certain de votre syntaxe
voyez plutôt sur un forum javascript :-p
Anacoluthe
« L'ambiguïté est une richesse. »
- Jorge Luis BORGES
Méthodes et événements ambigus : essayez peut-être en formulant wordApp.Run("FileClose") ou wordApp.Run("FileCloseAll") WordApp.Run("FileExit")
Désolé, aucune des propositions ne "passe". J'ai essayé diverses combinaisons avec ou sans majuscule pour écrire "FileClose" et "Run", mais je crois que ça n'a pas d'influence en automation?
Dans un script d'automation en vbs, majuscules comme minuscules, wordApp.Run("commande") ou wordApp.Run "Commande" marchent bien ... Pourquoi pas en javascript ? Si vous êtes certain de votre syntaxe voyez plutôt sur un forum javascript :-p
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Anacoluthe
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word, AppWrd.Quit Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?) que javascript va chercher l'événement du même nom, pourtant c'est le même serveur :-(
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word,
AppWrd.Quit
Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?)
que javascript va chercher l'événement du même nom, pourtant
c'est le même serveur :-(
Anacoluthe
« L'ambiguïté est une richesse. »
- Jorge Luis BORGES
A partir de VB5 j'utilise ce code pour fermer Word, AppWrd.Quit Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?) que javascript va chercher l'événement du même nom, pourtant c'est le même serveur :-(
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
smr78
Quelques infos en plus : J'ai oublié(!) de dire que j'affiche aussi le document Word dans une Iframe de ma page-programme html/javascript pour voir le résultat de mes actions. Or si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et Quit passent! En fait, afficher le document dans une Iframe fait que Word est connecté à deux demandes celle de Internet Explorer qui affiche le document Word, et celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en activant le debugger de script, j'obtiens deux sortes de messages d'erreur pour l'instruction Close : - Cette méthode ou propriété n'est pas disponible car ce document est dans une autre application - Cette méthode ou propriété n'est pas disponible car une fenêtre de document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes de Word.
Autre manip : Si je lance Word avant mon programme, il n'y a pas d'erreur non plus. Cela parce qu'alors mon programme crée un objet Word grâce à l'instruction wordapp = GetObject("", "Word.Application") et non avec wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même instance de Word. Il me reste donc à trouver, comment fermer une instance Word créée avec un ActiveX, alors qu'une autre existe par ailleurs. PS j'ai essayé d'utiliser wordapp = GetObject(filedocpath) pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais cette instruction échoue. Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word, AppWrd.Quit Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?) que javascript va chercher l'événement du même nom, pourtant c'est le même serveur :-(
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Quelques infos en plus :
J'ai oublié(!) de dire que j'affiche aussi le document Word dans une Iframe
de ma page-programme html/javascript pour voir le résultat de mes actions. Or
si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et Quit
passent!
En fait, afficher le document dans une Iframe fait que Word est connecté à
deux demandes celle de Internet Explorer qui affiche le document Word, et
celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en
activant le debugger de script, j'obtiens deux sortes de messages d'erreur
pour l'instruction Close :
- Cette méthode ou propriété n'est pas disponible car ce document est dans
une autre application
- Cette méthode ou propriété n'est pas disponible car une fenêtre de
document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes de
Word.
Autre manip :
Si je lance Word avant mon programme, il n'y a pas d'erreur non plus. Cela
parce qu'alors mon programme crée un objet Word grâce à l'instruction
wordapp = GetObject("", "Word.Application")
et non avec
wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même
instance de Word.
Il me reste donc à trouver, comment fermer une instance Word créée avec un
ActiveX, alors qu'une autre existe par ailleurs.
PS j'ai essayé d'utiliser
wordapp = GetObject(filedocpath)
pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais cette
instruction échoue.
Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word,
AppWrd.Quit
Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?)
que javascript va chercher l'événement du même nom, pourtant
c'est le même serveur :-(
Anacoluthe
« L'ambiguïté est une richesse. »
- Jorge Luis BORGES
Quelques infos en plus : J'ai oublié(!) de dire que j'affiche aussi le document Word dans une Iframe de ma page-programme html/javascript pour voir le résultat de mes actions. Or si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et Quit passent! En fait, afficher le document dans une Iframe fait que Word est connecté à deux demandes celle de Internet Explorer qui affiche le document Word, et celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en activant le debugger de script, j'obtiens deux sortes de messages d'erreur pour l'instruction Close : - Cette méthode ou propriété n'est pas disponible car ce document est dans une autre application - Cette méthode ou propriété n'est pas disponible car une fenêtre de document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes de Word.
Autre manip : Si je lance Word avant mon programme, il n'y a pas d'erreur non plus. Cela parce qu'alors mon programme crée un objet Word grâce à l'instruction wordapp = GetObject("", "Word.Application") et non avec wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même instance de Word. Il me reste donc à trouver, comment fermer une instance Word créée avec un ActiveX, alors qu'une autre existe par ailleurs. PS j'ai essayé d'utiliser wordapp = GetObject(filedocpath) pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais cette instruction échoue. Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word, AppWrd.Quit Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?) que javascript va chercher l'événement du même nom, pourtant c'est le même serveur :-(
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
smr78
Ouf, j'ai trouvé la bonne séquence : Il faut d'abord vider l'Iframe contenant le clone du document Word en traitement, puis lancer l'instruction Quit sans passer par l'instruction Close.
Par contre, nouvelle question, lors de l'instruction Quit, je n'ai pas de message d'alerte demandant si l'on veut sauver les corrections, bien que j'utilise Quit(-2)
-2 étant la valeur que j'ai trouvée pour la constante wdPromptToSaveChanges (trouvé sur http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbawd11/html/wohowConstants_HV01049731.asp
Quelques infos en plus : J'ai oublié(!) de dire que j'affiche aussi le document Word dans une Iframe de ma page-programme html/javascript pour voir le résultat de mes actions. Or si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et Quit passent! En fait, afficher le document dans une Iframe fait que Word est connecté à deux demandes celle de Internet Explorer qui affiche le document Word, et celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en activant le debugger de script, j'obtiens deux sortes de messages d'erreur pour l'instruction Close : - Cette méthode ou propriété n'est pas disponible car ce document est dans une autre application - Cette méthode ou propriété n'est pas disponible car une fenêtre de document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes de Word.
Autre manip : Si je lance Word avant mon programme, il n'y a pas d'erreur non plus. Cela parce qu'alors mon programme crée un objet Word grâce à l'instruction wordapp = GetObject("", "Word.Application") et non avec wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même instance de Word. Il me reste donc à trouver, comment fermer une instance Word créée avec un ActiveX, alors qu'une autre existe par ailleurs. PS j'ai essayé d'utiliser wordapp = GetObject(filedocpath) pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais cette instruction échoue. Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word, AppWrd.Quit Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?) que javascript va chercher l'événement du même nom, pourtant c'est le même serveur :-(
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Ouf, j'ai trouvé la bonne séquence :
Il faut d'abord vider l'Iframe contenant le clone du document Word en
traitement, puis lancer l'instruction Quit sans passer par l'instruction
Close.
Par contre, nouvelle question, lors de l'instruction Quit, je n'ai pas de
message d'alerte demandant si l'on veut sauver les corrections, bien que
j'utilise Quit(-2)
-2 étant la valeur que j'ai trouvée pour la constante wdPromptToSaveChanges
(trouvé sur
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbawd11/html/wohowConstants_HV01049731.asp
Quelques infos en plus :
J'ai oublié(!) de dire que j'affiche aussi le document Word dans une Iframe
de ma page-programme html/javascript pour voir le résultat de mes actions. Or
si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et Quit
passent!
En fait, afficher le document dans une Iframe fait que Word est connecté à
deux demandes celle de Internet Explorer qui affiche le document Word, et
celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en
activant le debugger de script, j'obtiens deux sortes de messages d'erreur
pour l'instruction Close :
- Cette méthode ou propriété n'est pas disponible car ce document est dans
une autre application
- Cette méthode ou propriété n'est pas disponible car une fenêtre de
document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes de
Word.
Autre manip :
Si je lance Word avant mon programme, il n'y a pas d'erreur non plus. Cela
parce qu'alors mon programme crée un objet Word grâce à l'instruction
wordapp = GetObject("", "Word.Application")
et non avec
wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même
instance de Word.
Il me reste donc à trouver, comment fermer une instance Word créée avec un
ActiveX, alors qu'une autre existe par ailleurs.
PS j'ai essayé d'utiliser
wordapp = GetObject(filedocpath)
pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais cette
instruction échoue.
Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word,
AppWrd.Quit
Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?)
que javascript va chercher l'événement du même nom, pourtant
c'est le même serveur :-(
Anacoluthe
« L'ambiguïté est une richesse. »
- Jorge Luis BORGES
Ouf, j'ai trouvé la bonne séquence : Il faut d'abord vider l'Iframe contenant le clone du document Word en traitement, puis lancer l'instruction Quit sans passer par l'instruction Close.
Par contre, nouvelle question, lors de l'instruction Quit, je n'ai pas de message d'alerte demandant si l'on veut sauver les corrections, bien que j'utilise Quit(-2)
-2 étant la valeur que j'ai trouvée pour la constante wdPromptToSaveChanges (trouvé sur http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbawd11/html/wohowConstants_HV01049731.asp
Quelques infos en plus : J'ai oublié(!) de dire que j'affiche aussi le document Word dans une Iframe de ma page-programme html/javascript pour voir le résultat de mes actions. Or si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et Quit passent! En fait, afficher le document dans une Iframe fait que Word est connecté à deux demandes celle de Internet Explorer qui affiche le document Word, et celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en activant le debugger de script, j'obtiens deux sortes de messages d'erreur pour l'instruction Close : - Cette méthode ou propriété n'est pas disponible car ce document est dans une autre application - Cette méthode ou propriété n'est pas disponible car une fenêtre de document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes de Word.
Autre manip : Si je lance Word avant mon programme, il n'y a pas d'erreur non plus. Cela parce qu'alors mon programme crée un objet Word grâce à l'instruction wordapp = GetObject("", "Word.Application") et non avec wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même instance de Word. Il me reste donc à trouver, comment fermer une instance Word créée avec un ActiveX, alors qu'une autre existe par ailleurs. PS j'ai essayé d'utiliser wordapp = GetObject(filedocpath) pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais cette instruction échoue. Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word, AppWrd.Quit Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?) que javascript va chercher l'événement du même nom, pourtant c'est le même serveur :-(
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
ClémentMarcotte
Bonjour,
Je ne sais pas s'il y en a qui causent Javascript dans ce coin-là, mais tu peux aussi essayer
Ouf, j'ai trouvé la bonne séquence : Il faut d'abord vider l'Iframe contenant le clone du document Word en traitement, puis lancer l'instruction Quit sans passer par l'instruction Close.
Par contre, nouvelle question, lors de l'instruction Quit, je n'ai pas de message d'alerte demandant si l'on veut sauver les corrections, bien que j'utilise Quit(-2)
-2 étant la valeur que j'ai trouvée pour la constante wdPromptToSaveChanges
Quelques infos en plus : J'ai oublié(!) de dire que j'affiche aussi le document Word dans une Iframe
de ma page-programme html/javascript pour voir le résultat de mes actions. Or
si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et Quit
passent! En fait, afficher le document dans une Iframe fait que Word est connecté à
deux demandes celle de Internet Explorer qui affiche le document Word, et
celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en activant le debugger de script, j'obtiens deux sortes de messages d'erreur
pour l'instruction Close : - Cette méthode ou propriété n'est pas disponible car ce document est dans
une autre application - Cette méthode ou propriété n'est pas disponible car une fenêtre de document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes de
Word.
Autre manip : Si je lance Word avant mon programme, il n'y a pas d'erreur non plus. Cela
parce qu'alors mon programme crée un objet Word grâce à l'instruction wordapp = GetObject("", "Word.Application") et non avec wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même instance de Word. Il me reste donc à trouver, comment fermer une instance Word créée avec un
ActiveX, alors qu'une autre existe par ailleurs. PS j'ai essayé d'utiliser wordapp = GetObject(filedocpath) pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais cette
instruction échoue. Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word, AppWrd.Quit Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?) que javascript va chercher l'événement du même nom, pourtant c'est le même serveur :-(
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES
Bonjour,
Je ne sais pas s'il y en a qui causent Javascript dans ce coin-là, mais tu
peux aussi essayer
"smr78" <smr78@discussions.microsoft.com> a écrit dans le message de
news:ABE5B2EA-70B0-4C53-9024-A0AE9354EAF6@microsoft.com...
Ouf, j'ai trouvé la bonne séquence :
Il faut d'abord vider l'Iframe contenant le clone du document Word en
traitement, puis lancer l'instruction Quit sans passer par l'instruction
Close.
Par contre, nouvelle question, lors de l'instruction Quit, je n'ai pas de
message d'alerte demandant si l'on veut sauver les corrections, bien que
j'utilise Quit(-2)
-2 étant la valeur que j'ai trouvée pour la constante
wdPromptToSaveChanges
Quelques infos en plus :
J'ai oublié(!) de dire que j'affiche aussi le document Word dans une
Iframe
de ma page-programme html/javascript pour voir le résultat de mes
actions. Or
si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et
Quit
passent!
En fait, afficher le document dans une Iframe fait que Word est connecté
à
deux demandes celle de Internet Explorer qui affiche le document Word,
et
celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en
activant le debugger de script, j'obtiens deux sortes de messages
d'erreur
pour l'instruction Close :
- Cette méthode ou propriété n'est pas disponible car ce document est
dans
une autre application
- Cette méthode ou propriété n'est pas disponible car une fenêtre de
document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes
de
Word.
Autre manip :
Si je lance Word avant mon programme, il n'y a pas d'erreur non plus.
Cela
parce qu'alors mon programme crée un objet Word grâce à l'instruction
wordapp = GetObject("", "Word.Application")
et non avec
wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même
instance de Word.
Il me reste donc à trouver, comment fermer une instance Word créée avec
un
ActiveX, alors qu'une autre existe par ailleurs.
PS j'ai essayé d'utiliser
wordapp = GetObject(filedocpath)
pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais
cette
instruction échoue.
Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word,
AppWrd.Quit
Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?)
que javascript va chercher l'événement du même nom, pourtant
c'est le même serveur :-(
Anacoluthe
« L'ambiguïté est une richesse. »
- Jorge Luis BORGES
Ouf, j'ai trouvé la bonne séquence : Il faut d'abord vider l'Iframe contenant le clone du document Word en traitement, puis lancer l'instruction Quit sans passer par l'instruction Close.
Par contre, nouvelle question, lors de l'instruction Quit, je n'ai pas de message d'alerte demandant si l'on veut sauver les corrections, bien que j'utilise Quit(-2)
-2 étant la valeur que j'ai trouvée pour la constante wdPromptToSaveChanges
Quelques infos en plus : J'ai oublié(!) de dire que j'affiche aussi le document Word dans une Iframe
de ma page-programme html/javascript pour voir le résultat de mes actions. Or
si j'inhibe cet affichage, je n'ai plus d'erreur, les commandes Close et Quit
passent! En fait, afficher le document dans une Iframe fait que Word est connecté à
deux demandes celle de Internet Explorer qui affiche le document Word, et
celle de l'objet ActiveX que j'ai créé pour manipuler le document Word.
En laissant les deux "instances" de Word (une seule est visible) et en activant le debugger de script, j'obtiens deux sortes de messages d'erreur
pour l'instruction Close : - Cette méthode ou propriété n'est pas disponible car ce document est dans
une autre application - Cette méthode ou propriété n'est pas disponible car une fenêtre de document n'est pas active.
Ceci confirme qu'il y a bien un problème de deux instances concurrentes de
Word.
Autre manip : Si je lance Word avant mon programme, il n'y a pas d'erreur non plus. Cela
parce qu'alors mon programme crée un objet Word grâce à l'instruction wordapp = GetObject("", "Word.Application") et non avec wordapp = new ActiveXObject("Word.Application")
En fait, en passant par GetObject, tout le monde se connecte à la même instance de Word. Il me reste donc à trouver, comment fermer une instance Word créée avec un
ActiveX, alors qu'une autre existe par ailleurs. PS j'ai essayé d'utiliser wordapp = GetObject(filedocpath) pour lancer Word et ouvrir mon doc en même temps avec GetObject, mais cette
instruction échoue. Merci encore
Bonjour !
'Youky' nous a écrit ...
A partir de VB5 j'utilise ce code pour fermer Word, AppWrd.Quit Set AppWrd = Nothing
Oui en vbscript aussi ça marche très bien, mais il semblerait (?) que javascript va chercher l'événement du même nom, pourtant c'est le même serveur :-(
Anacoluthe « L'ambiguïté est une richesse. » - Jorge Luis BORGES