OVH Cloud OVH Cloud

Fichier Doc (Word) dans VB6

3 réponses
Avatar
Jacques \(Be\)
Bonjour,

Comment utiliser le contrôle OLE pour afficher un document Word (.doc) ?
Je cherche sur le net sans rien trouver à propos de ce contrôle. On y trouve
plutôt comment piloter Word.
Je n'ai pas besoin d'ouvir Word, je veux juste afficher le contenu d'un
document, c'est tout. Pas de modification, pas
de sauvegarde, juste afficher. C'est pourquoi je tourne vers le contrôle
OLE.
Si quelqu'un avait un bout de code.

Merci de vos réponses

Jacques

PS : je continue de chercher en attendant :-)

3 réponses

Avatar
Christian Hugoud
Voila un boût de code que j'utilise (je l'ai épuré, et pas testé).
Il faut ajouter en références à ton projet (j'ai MS Word 2000) :
Microsoft Word 9.0 Object Library
qui est sous (chez moi) :
C:program filesMicrosoft OfficeOfficeMSWORD9.OLB

Hope this helps...

Christian

Dim Doc As Word.Document

On Error Resume Next
Set WinWord = CreateObject("Word.application")
DoEvents

If WinWord Is Nothing Or Err <> 0 Then
If IsWordDoc Then
WinWord.Quit False
DoEvents
Set WinWord = Nothing
End If
Exit Sub
End If

c'est ici que tu peux faire des choses

With WinWord
.WindowState = wdWindowStateMinimize
.Visible = False
If .Documents.Count = 1 Then
Set Doc = .Documents(1)
Else
Set Doc = .Documents.Add
End If
DoEvents
End With

nettoyage et quit
If Doc Is Nothing Or Err <> 0 Then
If IsWordDoc Then
Doc.Close False
Set Doc = Nothing
WinWord.Quit False
DoEvents
Set WinWord = Nothing
DoEvents
End If
Exit Sub
End If


"Jacques (Be)" a écrit dans le message de news:
ev$
Bonjour,

Comment utiliser le contrôle OLE pour afficher un document Word (.doc) ?
Je cherche sur le net sans rien trouver à propos de ce contrôle. On y
trouve
plutôt comment piloter Word.
Je n'ai pas besoin d'ouvir Word, je veux juste afficher le contenu d'un
document, c'est tout. Pas de modification, pas
de sauvegarde, juste afficher. C'est pourquoi je tourne vers le contrôle
OLE.
Si quelqu'un avait un bout de code.

Merci de vos réponses

Jacques

PS : je continue de chercher en attendant :-)




Avatar
Jacques \(Be\)
Bonjour,

Merci pour la réponse mais cette façon de faire je la connais. Je l'utilise
pour piloter excel.
J'affiche déjà des pages html, des fichiers txt, des pdf, etc.
Il me manque l'affichage des fichiers .doc.
Ce que je veux, c'est lorsque je clique dans une liste, le document
sélectionné s'affiche
dans un contrôle OLE. !!C'est là que je coince !! :-)

Cela ne devrait pas être trop compliqué puisque je ne veux qu'afficher le
contenu du fichier .doc. Pas de sauvegarde,
pas modification.



Si quelqu'un à une idée ou un lien vers l'utilisation du contrôle OLE, ce
serait bien.

Merci


"Christian Hugoud" a écrit dans le message de
news:
Voila un boût de code que j'utilise (je l'ai épuré, et pas testé).
Il faut ajouter en références à ton projet (j'ai MS Word 2000) :
Microsoft Word 9.0 Object Library
qui est sous (chez moi) :
C:program filesMicrosoft OfficeOfficeMSWORD9.OLB

Hope this helps...

Christian

Dim Doc As Word.Document

On Error Resume Next
Set WinWord = CreateObject("Word.application")
DoEvents

If WinWord Is Nothing Or Err <> 0 Then
If IsWordDoc Then
WinWord.Quit False
DoEvents
Set WinWord = Nothing
End If
Exit Sub
End If

c'est ici que tu peux faire des choses

With WinWord
.WindowState = wdWindowStateMinimize
.Visible = False
If .Documents.Count = 1 Then
Set Doc = .Documents(1)
Else
Set Doc = .Documents.Add
End If
DoEvents
End With

nettoyage et quit
If Doc Is Nothing Or Err <> 0 Then
If IsWordDoc Then
Doc.Close False
Set Doc = Nothing
WinWord.Quit False
DoEvents
Set WinWord = Nothing
DoEvents
End If
Exit Sub
End If


"Jacques (Be)" a écrit dans le message de news:
ev$
> Bonjour,
>
> Comment utiliser le contrôle OLE pour afficher un document Word (.doc) ?
> Je cherche sur le net sans rien trouver à propos de ce contrôle. On y
> trouve
> plutôt comment piloter Word.
> Je n'ai pas besoin d'ouvir Word, je veux juste afficher le contenu d'un
> document, c'est tout. Pas de modification, pas
> de sauvegarde, juste afficher. C'est pourquoi je tourne vers le contrôle
> OLE.
> Si quelqu'un avait un bout de code.
>
> Merci de vos réponses
>
> Jacques
>
> PS : je continue de chercher en attendant :-)
>
>




Avatar
Jacques93
Bonjour Jacques (Be),
Jacques (Be) a écrit :
Bonjour,

Comment utiliser le contrôle OLE pour afficher un document Word (.doc) ?
Je cherche sur le net sans rien trouver à propos de ce contrôle. On y trouve
plutôt comment piloter Word.
Je n'ai pas besoin d'ouvir Word, je veux juste afficher le contenu d'un
document, c'est tout. Pas de modification, pas
de sauvegarde, juste afficher. C'est pourquoi je tourne vers le contrôle
OLE.
Si quelqu'un avait un bout de code.




La doc n'est pas très simple à trouver ... Ce contrôle(qui date de OLE,
remplaçant de DDE) me semble avoir été lui même remplacé par par COM
(méthode indiquée par Christian Hugoud (CreateObject, ou New
Word.Application)

D'ailleurs ce composant n'est pas supporté par .Net. Mais bon, un
exemple de code minimal :

With Me.OLE1
' Embedded Object
.CreateEmbed "C:TOTO.DOC"

' ou Linked Object
' .CreateLink "C:TOTO.DOC"

.SizeMode = vbOLESizeStretch
End With

Et le lien de la doc MSDN :

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

--
Cordialement,

Jacques.