Effacer les filtres
Effacer les filtres

Word automation : how to bring the document to the front ?

7 vues (au cours des 30 derniers jours)
p fontaine
p fontaine le 17 Mai 2012
With the following lines I can open a Word document in automation mode:
hComServer = actxserver('Word.Application');
hComServer.Visible = 1;
hComServer.Documents.Open('c:\foo.doc');
but I can't figure out how to bring the window to the front ....

Réponse acceptée

p fontaine
p fontaine le 18 Mai 2012
It seems that Windows prevents from such a focus stealing by default so as to defeat annoying adware ...
A solution can be to set the windows registry key
HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout
to a decimal value of 0
then calling
hComServer.Activate
now activates and brings the window to the front but sometimes several calls seem to be necessary
(NB : reboot required after registry modification)

Plus de réponses (1)

Jan
Jan le 17 Mai 2012
Does this work:
hComServer.Visible = 1
or
hComServer.Activate
?
[EDITED]: Perhaps:
oDoc = hComServer.Documents.Open('c:\foo.doc');
oDoc.Activate;
Or:
hComServer.ActiveWindow.Activate();
You can use "methods(hComServer)" to inspect the possibilities.
  2 commentaires
p fontaine
p fontaine le 18 Mai 2012
unfortunately no ...
hComServer.Visible = 1 makes the Word Window visible
hComServer.Activate activates the window
but none of this commands bring the Word window to the front ......
Jan
Jan le 18 Mai 2012
Is there a command to get the hWnd of the Word Window? I do not use the Microsoft Office on my Matlab computer, because I need it for serious work, such that I cannot test this. ;-)

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by