14.09.2017, 13:30
Hallo ihr Lieben,
ich bin heute an die Grenze meiner VBA-Kenntnisse gestoßen. Folgendes Problem habe ich dabei:
Ich habe im Excel eine Art Datenbank erstellt. Über verschiedene Userformen können Personen neu angelegt oder aufgerufen werden. Hier sind dann verschiedene Daten wie Name, Wohnort und ähnliches hinterlegt. Aus einer dieser Userformen will ich über einen Button direkt für die jeweilig aufgerufene Person einen Serienbrief erstellen. Die Serienbriefdatei wurde bereits erstellt und mit der Tabelle verknüpft. Wichtig wäre eventuell noch, dass sich die Userformen, also das Programm und die Ergebnisliste in einer Datei befinden.
Ich habe bereits folgenden Code für die Verknüpfung zu Word erstellt:
In der Excel-Entwicklungsumgebung habe ich über Extras - Verweise schon Microsoft Word 14.0 Object Library aktiviert. Ich benutze Office 2010
Wenn ich den Code ausführe kommt folgende Fehlermeldung.
Fehler beim Kompilieren
Methode oder Datenobjekt nicht gefunden
Klicke ich hier auf ok, markiert er mir .Destination = .wdSendToNewDocument
Habt ihr eventuell eine Lösung für mein Problem?
vielen dank schon mal
Gruß Felix
ich bin heute an die Grenze meiner VBA-Kenntnisse gestoßen. Folgendes Problem habe ich dabei:
Ich habe im Excel eine Art Datenbank erstellt. Über verschiedene Userformen können Personen neu angelegt oder aufgerufen werden. Hier sind dann verschiedene Daten wie Name, Wohnort und ähnliches hinterlegt. Aus einer dieser Userformen will ich über einen Button direkt für die jeweilig aufgerufene Person einen Serienbrief erstellen. Die Serienbriefdatei wurde bereits erstellt und mit der Tabelle verknüpft. Wichtig wäre eventuell noch, dass sich die Userformen, also das Programm und die Ergebnisliste in einer Datei befinden.
Ich habe bereits folgenden Code für die Verknüpfung zu Word erstellt:
Code:
Option Explicit
Sub fp_Excel_Word_Serienbrief_erstellen()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim varRange As Excel.Range
'*diese Funktion oeffnet den Serienbrief "Serienbrief.docx"
Dim sFilename As String
sFilename = "H:\Eigene Datein\Aktuelle Aufgaben\Serienbriefvorlagen\Serienbrief.docx"
'< Word starten >
Dim wordApp As Object
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = True
'</ Word starten >
'< Word Document oeffnen >
Dim doc As Word.Document 'word-dll
Set doc = CreateObject("Word.Document")
Set doc = wordApp.Documents.Open(sFilename, ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False)
'Anweisung in Word aufgezeichnet
'Sendung zusammenführen
'Zahl 1 einfügen um 1. Ergebniss zu erhalten
'diese Datei abspeichern
With ActiveDocument.MailMerge
.Destination = .wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
.Execute Pause:=False
End With
ChangeFileOpenDirectory "H:\Eigene Datein\Aktuelle Aufgaben\Testdateien\"
ActiveDocument.SaveAs2 Filename:= _
"H:\Eigene Datein\Aktuelle Aufgaben\Testdateien\Max Mustermann.docx", _
FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
:=False, SaveAsAOCELetter:=False, CompatibilityMode:=14
ActiveWindow.Close
End Sub
Wenn ich den Code ausführe kommt folgende Fehlermeldung.
Fehler beim Kompilieren
Methode oder Datenobjekt nicht gefunden
Klicke ich hier auf ok, markiert er mir .Destination = .wdSendToNewDocument
Habt ihr eventuell eine Lösung für mein Problem?
vielen dank schon mal
Gruß Felix