VB6 WinXP, Office 2003 Word Objekt aus ActiveX heraus aufrufen ohne Wartezeit

05/02/2010 - 15:08 von Michael | Report spam
Hallo in die Runde,

ich rufe aus einer AxtiveX.exe Word als Objekt auf um in eine Worddatei
zuschreiben. Funktioniert auch soweit gut. Problem ist nur bei der
Initialisierung und Quit erhalte ich immer eine kurze Pause des Systems. Das
Fenster der ActiveX.exe verliert kurzzeitig seine Controls erscheint in
blanken Grau. Mein Code:

Set oWord = New Word.Application
Set odoc = oWord.Documents
oWord.Visible = False
odoc.Open strDestination
With odoc(1)

Combo1.Clear
For x = 1 To .Bookmarks.Count
Combo1.AddItem .Bookmarks(x).Name
Next x
If Combo1.ListCount > -1 Then Combo1.ListIndex = 0

End With
odoc.Close
oWord.Quit
Set oWord = Nothing
Set odoc = Nothing


Auch ohne die Schleife mit dem "Bookmark-Combo" (es sind nur 2 Bookmarks in
der Datei) ensteht das Problem. Für den Anwender scheint das System
kurzzeitig zu hàngen.

Hat jemand eine Idee, wie man das vermeinden kann ?

VG
Michael
 

Lesen sie die antworten

#1 Dieter Strassner
07/02/2010 - 17:01 | Warnen spam
Hallo Michael,

ich rufe aus einer AxtiveX.exe Word als Objekt auf um in eine
Worddatei zuschreiben. Funktioniert auch soweit gut. Problem ist nur
bei der Initialisierung und Quit erhalte ich immer eine kurze Pause
des Systems. Das Fenster der ActiveX.exe verliert kurzzeitig seine
Controls erscheint in blanken Grau. Mein Code:

Set oWord = New Word.Application
Set odoc = oWord.Documents



*** oWord.ScreenUpdating = False <<<< das hilft etwas

oWord.Visible = False
odoc.Open strDestination
With odoc(1)

Combo1.Clear
For x = 1 To .Bookmarks.Count
Combo1.AddItem .Bookmarks(x).Name
Next x
If Combo1.ListCount > -1 Then Combo1.ListIndex = 0

End With
odoc.Close



*** oWord.ScreenUpdating = True <<<< Nicht vergessen!

oWord.Quit
Set oWord = Nothing
Set odoc = Nothing


Auch ohne die Schleife mit dem "Bookmark-Combo" (es sind nur 2
Bookmarks in der Datei) ensteht das Problem. Für den Anwender
scheint das System kurzzeitig zu hàngen.

Hat jemand eine Idee, wie man das vermeinden kann ?



Ein "bisschen Zeit" braucht Windows halt auch zum laden von WORD und WORD
zum initialisieren und zum öffnen des Dokumentes.

Könntest zum Beispiel bereits vorher WORD im Hintergrund starten (bevor der
Benutzer erwartet das es nun losgeht).


Viele Grüße

Dieter


Rückfragen bitte nur in die Newsgroup!

EDV-Kommunikation Strassner e.K.
68623 Lampertheim
Internet: www.strassner.biz

Ähnliche fragen