OVH Cloud OVH Cloud

ouverture Word via VB6

5 réponses
Avatar
Christian
Bonjour,

Dans la même optique qu'une liaison avec Excel avec une application écrite
en VB6, je souhaite ouvrir Microsoft Word avec une procédure, mais laquelle
?

Au fait, pour ouvrir Excel, compléter des cellules etc..., j'écris comme
instruction Application.Workbooks.Add,
Application.Workbooks(x).Sheets(y).Range etc... Donc ici "Application"
génère tout ce qui concerne Excel.

Mais comment puis-je faire de même pour Word ?? J'ai pourtant bien "activé"
la dll concernée dans "Références du projet".

Merci d'avance.

Christian

5 réponses

Avatar
le_troll
Bonjour, ouvrir word:

Sub Form_Load()
Dim r
r = Shell("c:Program FilesMicrosoft OfficeOffice10winword.exe", 1)
End Sub


--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------


"Christian" a écrit dans le message de news:
41224840$0$334$
Bonjour,

Dans la même optique qu'une liaison avec Excel avec une application écrite
en VB6, je souhaite ouvrir Microsoft Word avec une procédure, mais


laquelle
?

Au fait, pour ouvrir Excel, compléter des cellules etc..., j'écris comme
instruction Application.Workbooks.Add,
Application.Workbooks(x).Sheets(y).Range etc... Donc ici "Application"
génère tout ce qui concerne Excel.

Mais comment puis-je faire de même pour Word ?? J'ai pourtant bien


"activé"
la dll concernée dans "Références du projet".

Merci d'avance.

Christian




Avatar
Droops
Bonjour,

le principe est similaire mais le modèle d'objet est
naturellement différent (pas de Worksheets dans Word).

Voici un lien vers la KB française donnant un exemple qui
a pour but d'automatiser un publipostage via VB :

http://support.microsoft.com/default.aspx?scid=kb;fr;220607

Pour avoir des détails sur le modèle d'objet Word
(Collections, méthodes, etc), il est possible d'avoir une
vision générale du modèle en activant le visual basic
editor depuis Word (Menu Outils, Macros...), puis, une
fois dans l'éditeur VBA, appeler l'aide et saisir "modèle
objet".
Attention, c'est le modèle VBA qui sera décrit, et non
celui pour VB. Souvent très proche, il y a parfois des
différences. Donc des tests en perspective...

Une autre piste : une fois la référence Word activée dans
le projet VB, la touche F2 peut faire des miracles...

En espérant que cela t'aidera.

Droops



-----Message d'origine-----
Bonjour,

Dans la même optique qu'une liaison avec Excel avec une


application écrite
en VB6, je souhaite ouvrir Microsoft Word avec une


procédure, mais laquelle
?

Au fait, pour ouvrir Excel, compléter des cellules


etc..., j'écris comme
instruction Application.Workbooks.Add,
Application.Workbooks(x).Sheets(y).Range etc... Donc


ici "Application"
génère tout ce qui concerne Excel.

Mais comment puis-je faire de même pour Word ?? J'ai


pourtant bien "activé"
la dll concernée dans "Références du projet".

Merci d'avance.

Christian


.



Avatar
Patrick Philippot
Christian wrote:
Mais comment puis-je faire de même pour Word ?? J'ai pourtant bien
"activé" la dll concernée dans "Références du projet".




CreateObject("Word.Application")

Ensuite vous vous servez du modèle objet de Word pour manipuler Word,
créer un document, le sauvegarder, l'imprimer, etc.

Le modèle objet de Word est décrit là:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_wrcore/html/wroriautomatingwordusingwordobjectmodel.asp

ou tout simplement dans le MSDN.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Patrick Philippot
La méthode d'instanciation via une référence comme indiqué dans la page
citée par Droops est préférable à l'utilisation de CreateObject que j'ai
indiquée un peu rapidement (early binding vs. late binding).

Cela permet de bénéficier d'Intellisense dans l'IDE et d'un contrôle de
validité des appels avant l'exécution.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
ng
Oui mais cela ne permet pas de garder une grande compatibilite (si le code
ne doit servir qu'a l'ouverture notamment, qqsoit la version).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



Patrick Philippot a écrit :

La méthode d'instanciation via une référence comme indiqué dans la
page citée par Droops est préférable à l'utilisation de CreateObject
que j'ai indiquée un peu rapidement (early binding vs. late binding).

Cela permet de bénéficier d'Intellisense dans l'IDE et d'un contrôle
de validité des appels avant l'exécution.