Hab mal etwas gebastelt:
Sub AutoNew()
'
' Datenquelle Makro
' Makro aufgezeichnet am 03.01.2014 von -
Dim astrPath() As String
Dim strDatendatei As String
'Pfad in dem sich sich dieses ("ich selbst") Dokument befindet
' (Pfadangabe aufsplitten in einzelne [Unter-]Verzeichnisse)
astrPath = Split(ThisDocument.PATH, "\")
'Name der zu erwartenden Datendatei bilden
strDatendatei = ThisDocument.PATH & "\Mitgliedsliste_" & astrPath(UBound(astrPath)) & ".xls"
'
ActiveDocument.MailMerge.OpenDataSource Name:= _
strDatendatei, _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=strDatendatei;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Databas" _
, SQLStatement:="SELECT * FROM `Mitglieder$`", SQLStatement1:="", SubType _
:=wdMergeSubTypeAccess
End Sub
Leider klappt das nicht 100%. Die Fehlermeldung das er die Datendatei nicht finden kann kommt immer noch. Wenn ich die mit OK bestätige, danach auf abrechen klicke wird das Macro ausgeführt und die Datenbank mit dem Dokument verbunden.
Das nächste Problem was ich hier immer noch sehe, man muß das Dokument wirklich in einen Ordner mit Namen der Jahreszahl packen. Schöner wäre es, es wird im aktuellen Ordner nach einer Datei *liste*.xls gesucht und die als Datenquelle zusammen mit ThisDocument.Path verwendet.
|