Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation de WordBasic

5 réponses
Avatar
Pascal CATALA
Bonjour,

J'utilise Word (version 2000 et supérieure) à partir d'une application
extérieure, par des liens OLE.
Pour cela, j'ouvre l'application WinWord, puis j'ouvre des documents qui
possèdent des macros nommées AutoOpen. Mais, j'ai besoin de garder la main
sur le document avant que la macro AutoOpen ne s'exécute.
Je sais qu'il existe une commande qui permet de désactiver temporairement
toutes les macros automatiques. Cette commande est "DisableAutoMacros".
Or cette commande n'a pas été traduite en VBA et ne peut être utilisée que
par le préfixe "WordBasic", qui n'est pas reconnu par mon application.
Est-il possible d'utiliser cette commande dans des applications extérieures
et si oui comment ?
Existe-t-il une alternative VBA à cette commande ?

Merci par avance pour vos réponses !

Pascal

5 réponses

Avatar
Anacoluthe
Bonjour !

'Pascal CATALA' nous a écrit ...
J'utilise Word (version 2000 et supérieure) à partir d'une application
extérieure, par des liens OLE.
Pour cela, j'ouvre l'application WinWord, puis j'ouvre des documents qui
possèdent des macros nommées AutoOpen. Mais, j'ai besoin de garder la main
sur le document avant que la macro AutoOpen ne s'exécute.
Je sais qu'il existe une commande qui permet de désactiver temporairement
toutes les macros automatiques. Cette commande est "DisableAutoMacros".
Or cette commande n'a pas été traduite en VBA et ne peut être utilisée que
par le préfixe "WordBasic", qui n'est pas reconnu par mon application.


Pourquoi pas reconnu ??? Si vous utilisez le modèle objet Word,
je ne vois pas pourquoi vous ne pouvez pas utiliser l'objet
d'application WordBasic qui est toujours bien là et notamment
WDApp.WordBasic.DisableAutoMacros(1)
pour désactiver les macros automatiques...

Word n'est pas écrit en basic ! VBA n'est qu'une interface aux
fonctions internes de Word. Il existe encore quelques fonctions
qu'on ne peut programmer que via l'objet WordBasic. Sauf à changer
le niveau de sécurité, celle-ci en est effectivement une !

Ou alors expliquez-nous ce qu'est votre appli externe
si elle ne fait pas de l'Automation Word ...

Anacoluthe
« Qui comprend le nouveau et reprend l'ancien peut devenir un maître. »
- CONFUCIUS

Avatar
Geo

Pourquoi pas reconnu ??? Si vous utilisez le modèle objet Word,
je ne vois pas pourquoi vous ne pouvez pas utiliser l'objet
d'application WordBasic qui est toujours bien là et notamment
WDApp.WordBasic.DisableAutoMacros(1)
pour désactiver les macros automatiques...


Oui, marche bien à partir d'Excel.

--
A+

Avatar
pc
A-y-é, mon Outlook express fonctionne à nouveau :-D
J'arrive enfin à voir la réponse que vous aviez faites le 13 février dernier
(sacré Bill G. ...)

Je sais que word n'est pas écrit en VB !

Mon application externe est AcuCobol (hé oui, il reste encore des
programmeurs cobol !). Il s'agit d'un Cobol parmi tant d'autres, mais qui
est assez ouvert au monde de Microsoft (si, c'est possible).

J'arrive correctement à piloter Word depuis mon appli. Cobol pour, par
exemple faire un publipostage sur un document Word avec un fichier de
données créé par mon appli. Mais je n'arrive pas à demander à Word de ne pas
exécuter la macro AutoOpen avant de "me donner la main" !

En effet, les commandes commençant par "WordBasic" ne sont pas autorisées
par mon appli (sauf erreur de ma part).

J'utilise la librairie : "Microsoft Word 9.0 Object Library (Ver 8.1)"
(c'est le fichier MSWORD9.OLB) pour piloter Word.

Merci de vous être penché sur mon problème !

PC



"Anacoluthe" a écrit dans le message de
news:
Bonjour !

'Pascal CATALA' nous a écrit ...
J'utilise Word (version 2000 et supérieure) à partir d'une application
extérieure, par des liens OLE.
Pour cela, j'ouvre l'application WinWord, puis j'ouvre des documents qui
possèdent des macros nommées AutoOpen. Mais, j'ai besoin de garder la
main


sur le document avant que la macro AutoOpen ne s'exécute.
Je sais qu'il existe une commande qui permet de désactiver
temporairement


toutes les macros automatiques. Cette commande est "DisableAutoMacros".
Or cette commande n'a pas été traduite en VBA et ne peut être utilisée
que


par le préfixe "WordBasic", qui n'est pas reconnu par mon application.


Pourquoi pas reconnu ??? Si vous utilisez le modèle objet Word,
je ne vois pas pourquoi vous ne pouvez pas utiliser l'objet
d'application WordBasic qui est toujours bien là et notamment
WDApp.WordBasic.DisableAutoMacros(1)
pour désactiver les macros automatiques...

Word n'est pas écrit en basic ! VBA n'est qu'une interface aux
fonctions internes de Word. Il existe encore quelques fonctions
qu'on ne peut programmer que via l'objet WordBasic. Sauf à changer
le niveau de sécurité, celle-ci en est effectivement une !

Ou alors expliquez-nous ce qu'est votre appli externe
si elle ne fait pas de l'Automation Word ...

Anacoluthe
« Qui comprend le nouveau et reprend l'ancien peut devenir un maître. »
- CONFUCIUS



Avatar
Anacoluthe
Bonjour !

'pc' nous a écrit ...
A-y-é, mon Outlook express fonctionne à nouveau :-D
Mon application externe est AcuCobol
En effet, les commandes commençant par "WordBasic" ne sont pas autorisées
par mon appli (sauf erreur de ma part).
J'utilise la librairie : "Microsoft Word 9.0 Object Library (Ver 8.1)"
(c'est le fichier MSWORD9.OLB) pour piloter Word.


Lisez la fiche http://support.microsoft.com/kb/252719/en-us
Ce n'est pas du Cobol mais ça peut vous aider
En principe une syntaxe reprenant celle que j'ai donnée
WDApp.WordBasic.DisableAutoMacros(1)
est compatible avec votre librairie Word Object 9
pour désactiver les macros automatiques.

Anacoluthe
« C'est encore en méditant l'objet
que le sujet a le plus de chance de s'approfondir. »
- Gaston BACHELARD

Avatar
pc
Ca ne marche pas ...
Je suis en train de voir avec l'éditeur du runtime que j'utilise -> il va
bien me trouver une solution !
Encore merci pour votre aide ...

Pascal

"Anacoluthe" a écrit dans le message de
news:eEaFVg%
Bonjour !

'pc' nous a écrit ...
A-y-é, mon Outlook express fonctionne à nouveau :-D
Mon application externe est AcuCobol
En effet, les commandes commençant par "WordBasic" ne sont pas
autorisées


par mon appli (sauf erreur de ma part).
J'utilise la librairie : "Microsoft Word 9.0 Object Library (Ver 8.1)"
(c'est le fichier MSWORD9.OLB) pour piloter Word.


Lisez la fiche http://support.microsoft.com/kb/252719/en-us
Ce n'est pas du Cobol mais ça peut vous aider
En principe une syntaxe reprenant celle que j'ai donnée
WDApp.WordBasic.DisableAutoMacros(1)
est compatible avec votre librairie Word Object 9
pour désactiver les macros automatiques.

Anacoluthe
« C'est encore en méditant l'objet
que le sujet a le plus de chance de s'approfondir. »
- Gaston BACHELARD