Doppelt: Word-Serienbrief per Excel
Betrifft: Doppelt: Word-Serienbrief per Excel
von: ThomasJ
Geschrieben am: 05.09.2004 12:58:58
Hallo Forum!
Habe folgendes Prob:
Ich öffne die Serienbrief-Funktion von Word mit einem CB einer UF aus Excel.
Wenn ich WORD dann aber schliessen will, bekomme ich n Haufen Meldungen und Abfragen bezüglich Normal.dot:
1. ..andere Anwendung oder Benutzer greifen auf ...Normal.dot zu!
2. SaveAs Dialog -> Normal.dot
3. WORD immer noch offen -> drücke Schließen (X)
4. Änderungen wirken sich auf Normal.dot aus...blabla...
Hier der Code (zusammengebastelt aus verschiedenen Fundstellen):
Sub ÖffneWord()
Dim wrd As Object
Set wrd = CreateObject("Word.Application")
wrd.Visible = True
wrd.documents.Add
wrd.activedocument.mailmerge.showwizard (2)
Set wrd = Nothing
End Sub
Kann mir da jemand helfen?!
Gruß
Thomas
Betrifft: AW: Doppelt: Word-Serienbrief per Excel
von: Ramses
Geschrieben am: 05.09.2004 14:19:39
Hallo
Thomas hat dir ja schon ein paar Tips gegeben.
Hier nochmals etwas zur Info
Zu 1:
Da brauchst du dich nicht zu wundern, weil die Object-Schnittstelle von EXCEL immer noch auf das Word-Dokument zugreift.
Ich verstehe ehrlich gesagt den Sinn des ganzen überhaupt nicht.
Du machst ja nichts anderes als Word zu starten und den Serienbriefassistenten zu öffnen. Reicht da der normale Vorgang über die Startleiste nicht ?
Den Serienbriefassistenten sollte der Benutzer ja wohl noch finden ;-)
Wenn nicht, dann starte Word doch über das Shell-Command, dann bist du die ganzen anderen Abfragen los
x = shell("Winword.exe",vbMaximizedFocus)
Den Serienbrief kannst du zur Not auch nocht mit Send-Keys aufrufen
Zu 2:
Keine Ahnung was du speichern willst
Zu 3.
Das ist ja wohl klar, solange bis es auf Visible = False gesetzt wird
Zu 4:
Ist ja auch klar. Das ist eine Systemeinstellung in Word und kann unter
Extras - Optionen - Speichern "Anfrage für Speicherung Normal.dot" abgeschaltet werden.
Gruss Rainer
Betrifft: AW: Vielleicht so...
von: Frank
Geschrieben am: 05.09.2004 14:25:29
Hi Thomas,
versuchs mal so:
Sub Word_Serien()
Application.ActivateMicrosoftApp (xlMicrosoftWord)
Application.Wait (Now + TimeValue("00:00:03"))
Application.SendKeys "%xd", True
End Sub
Sendkeys ist zwar sicher nicht die beste Lösung, aber bei mir klappt es so einwandfrei.
MfG
Frank