Öffnen eines Word Dokuments mit integriertem "Document_Open" aus Access heraus

04/05/2010 - 08:26 von Jörg Berger | Report spam
Guten Tag zusammen,

ich erstelle in Access aus einem Datensatz eine "Befehlsdatei" für Word mit
bestimmten Operationen, die in Abhàngigkeit vom jeweiligen Access Datensatz
unterschiedlich aussieht.
Anschließend kopiert Access eine Word-Vorlage. Diese enthàlt dann ein
Autostart-Makro (Document_Open), der sich diese Befehlsdatei vornimmt und
abarbeitet.

Dabei habe ich früher den Shell-Befehl genutzt:

[Shell-Variante]
pubShellBefehl = "WINWORD " & Chr$(34) & Befehlsdatei& Chr$(34)
Shell pubShellBefehl, vbMaximizedFocus

[Application.FollowHyperlink-Variante]
Nun möchte ich den (moderneren) Befehl "Application.FollowHyperlink" nutzen:
Application.FollowHyperlink Befehlsdatei

Diese beiden Befehle öffnen zwar beide Word mit dem Dokument, das Verhalten
ist jedoch unterschiedlich:
Wàhrend die Shell-Variante Word öffnet, das Dokument anzeigt und dann alle
Befehle der Befehlsdatei sauber ausführt, öffnet die
Application.FollowHyperlink-Variante Word, führt erst das Makro aus und
zeigt das Dokument dann an.
Hört sich nach wenig Unterschied an, jedoch funktioniert der Befehlsteil
"suchen und ersetzen" somit nur in der Shell-Variante, nicht jedoch in der
anderen (das Makro wird ausgeführt, jedoch ersetzt "suchen und ersetzen"
nichts, da scheinbar nichts gefunden wird, das Dokument ist ja noch nicht
geöffnet / angezeigt, alle anderen Befehle wie z. B. das abschliessende
Löschen der Befehlsdatei klappt jedoch).

Hat irgendjemand eine Idee / einen Hinweis, warum sich Word beim Öffnen des
Dokuments mit den unterschiedlichen Methoden auch unterschiedlich verhàlt,
bzw. man dieses abfangen kann?

Vielen Dank im Voraus und schöne Grüße aus Wipperfürth,
Jörg Berger
 

Lesen sie die antworten

#1 Stefan Hoffmann
04/05/2010 - 09:52 | Warnen spam
hallo Jörg,

On 04.05.2010 08:26, Jörg Berger wrote:
ich erstelle in Access aus einem Datensatz eine "Befehlsdatei" für Word
mit bestimmten Operationen, die in Abhàngigkeit vom jeweiligen Access
Datensatz unterschiedlich aussieht.
Anschließend kopiert Access eine Word-Vorlage.


Warum?

Diese enthàlt dann ein
Autostart-Makro (Document_Open), der sich diese Befehlsdatei vornimmt
und abarbeitet.


hmm, ich bevorzuge an dieser Stelle Word-Automation von Access aus, d.h.
der Code liegt in Access.

Wenn du den Code in Word belassen willst kannst du mittles Run

http://msdn.microsoft.com/en-us/lib...11%29.aspx

dein Word-"Macro" aufrufen. Z.B. mittels Early Binding in Access

Option Compare Database
Option Explicit

Public Sub AutomateWord()

Dim wa As Word.Application

Set wa = New Word.Application

wa.Visible = True
wa.Documents.Add "C:\Temp\BOOKMARK.dotm"
wa.Run "FillBookmark", "C:\Temp\Befehle.txt"

Set wa = Nothing

End Sub

Deine Word-Vorlage (*.docm):

Option Explicit

Public Sub FillBookmark(AText As String)

If ActiveDocument.Bookmarks.Exists("BOOKMARK") Then
ActiveDocument.Bookmarks.Item("BOOKMARK").Range.Text = AText
End If

End Sub


Hat irgendjemand eine Idee / einen Hinweis, warum sich Word beim Öffnen
des Dokuments mit den unterschiedlichen Methoden auch unterschiedlich
verhàlt, bzw. man dieses abfangen kann?


Weil FollowHyperlink im Grund nicht für Applikationen ist. Ich würde an
deiner Stelle ShellExecute benutzen:

http://www.mvps.org/access/api/api0018.htm


mfG

Access-FAQ http://www.donkarl.com/
KnowHow.mdb http://www.freeaccess.de
Newbie-Info http://www.doerbandt.de/Access/Newbie.htm

Ähnliche fragen