PROFESSIONAL NEWSGROUPS
WINDEV
,
WEBDEV
and
WINDEV Mobile
Home
|
Recent messages
|
Connect
|
Sign out
|
English
Home
→
WINDEV 2024
→
Ole automation WORD récupération nom du document
Ole automation WORD récupération nom du document
Started by Franck Béron, Feb., 03 2005 4:34 PM - No answer
Connect yourself…
Franck Béron
#1
Posted on February, 03 2005 - 4:34 PM
Bonjour à tous
Je bute depuis plusieurs jours sur un problème Ole automation avec Word.
Je vous donne ci-dessous le code que j'ai réalisé.
J'ouvre Word, je crée le document, et tant que je n'ai pas fermé Word je boucle pour vérifier que Word est toujours ouvert.
Dans la variable reponse je récupère le nom du document, si l'utilisateur enregistre le document sous un nom quelconque la variable reponse se met à jour.
C'est là que j'ai un problème, dès qu'un menu sous Word est ouvert, tous les ordres Ole qui sont envoyés tant que le menu est ouvert provoquent une erreur. J'ai intercepté l'erreur par quand exception, si bien que je peux toujours continuer ma boucle.
Sur mon PC j'ai 128 Mo de Ram, si je reste sur un menu il me faut 5 minutes environ pour avoir une erreur Ole, sur un poste avec 1 Go de Ram, la même erreur survient au bout de 30 secondes. Sûrement l'empilement des erreurs!
Comment faire ?
Il faut que je sache que l'utilisateur n'est plus sous Word (il peut y rester la journée s'il le désire), et sous quel nom et à quel endroit il a enregistré le document (non imposé).
Tous les moyens sont les bienvenus, base de registre, API, Ole etc...
Franck
Word est un Objet ole dynamique
Word_present est un booleen = vrai
reponse est une chaine
Word = Objetactif("Word.Application")
si Word = null alors
Word=allouer un objet OLE "Word.Application"
fin
Word>>Visible=olevrai //Word est visible à l'écran
Word>>WindowState=1 //1=Maximise 2=Normal 3=Minimise
//je crée un nouveau document à partir d'une lettre type (NomDoc) que l'utilisateur
//choisi parmi une liste
Word>>Documents>>Add(NomDoc) //OUverture du modèle.dot
//tant que Word n'est pas fermé je boucle
tantque Word_present = vrai
Word = objetactif("Word.Application")
si Word = null alors Word_present = faux
quand exception
Goto debut
fin
multitache(20)
//je récupère le nom du document, tant que pas enregistré le nom est Document1
//sinon je récupère le nom sous lequel l'utilisateur a enregistré le document
reponse = Word>>ActiveDocument>>FullName
debut:
FIN
Report
0
0
→ Go back to WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WEBDEV (earlier versions)
WINDEV Mobile (earlier versions)
Reports & Queries
Off-topic
Tools
Français
English
Español
Portuguesa
Close this window
Search type
Only topics
All the messages
Search period
Any time
Past hour
Past 24 hours
Past week
Past month
Past year
Cancel
Preview of your message
Adding an image
Import an image from a URL
Send an image from a file of your disk
Drop a file or click "Browse..."
or
Cancel
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Text