Ausgangssituation:
ich habe folgende Prozedur in Access
Option Explicit
Sub AlleDateienBearbeiten() Dim xlApp As Object, xlBook As Object Dim FS As Object, i As Integer Dim Fso Set Fso = CreateObject("Scripting.FileSystemObject") Set xlApp = CreateObject("Excel.Application") Set FS = Application.FileSearch With FS .LookIn = "C:\Documents and Settings\hoffmar2\Desktop\Vertriebscontrolling\ _ importSAPPF84FT\Einzelaufträge\" .NewSearch .SearchSubFolders = False .FileName = "*.xls" .Execute End With For i = 1 To FS.FoundFiles.Count Debug.Print FS.FoundFiles(i) Set xlBook = xlApp.Workbooks.Open(FS.FoundFiles(i)) xlBook.Application.Run "Add-In_für_VC-System.xla! _ SAP_Daten_Bereinigen_und_Werte_uebernehmen" xlBook.Save ' falls Daten verändert werden xlBook.Close EineDateiEinlinkenUndAnfügen FS.FoundFiles(i), "Haupttabelle" Next ' zunächst Datei kopieren... Fso.CopyFile "C:\Documents and Settings\hoffmar2\Desktop\Vertriebscontrolling\importSAPPF84FT\ _ Einzelaufträge\*.xls", "C:\Documents and Settings\hoffmar2\Desktop\Vertriebscontrolling\importSAPPF84FT\Einzelaufträge\archiv\" xlApp.Quit 'Excel beenden, um Speicher nicht zu belasten ' ...und anschließend Ausgangsdatei löschen Fso.DeleteFile "C:\Documents and Settings\hoffmar2\Desktop\Vertriebscontrolling\importSAPPF84FT\ _ Einzelaufträge\*.xls" End Sub
Sub EineDateiEinlinkenUndAnfügen(AktDatFullNam As String, ZielTab As String)
Const TmpLink = "TabtmpLink" ' tbname
' XLS einlinken
On Error Resume Next
DoCmd.DeleteObject acTable, TmpLink
On Error GoTo 0
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel97, TmpLink, _
AktDatFullNam, True
' xls Anfügen
CurrentDb.Execute "INSERT INTO " & ZielTab & _
" SELECT " & TmpLink & ".* " & _
"FROM " & TmpLink & ";"
End Sub
Damit werden alle XLS-Mappen in einem Ordner an eine Tabelle in Access angefügt. Das funktioniert soweit auch einwandfrei.
Es gibt nur einer Stelle Probleme. Mit
xlBook.Application.Run "Add-In_für_VC-System.xla!SAP_Daten_Bereinigen_und_Werte_uebernehmen"
soll vorher ein Makro (Add-In) in Excel über alle Mappen laufen, die im oben erwähnte Ordner gefunden werden.
Nun bringt er an dieser Stelle den Laufzeitfehler 1004 "Add-In wurde nicht gefunden. Überprüfen Sie Rechtschreibung...usw."
Die Rechtschreibung ist aber definitiv korrekt! Das Add-In ist in Excel über Extras-->Add-In-Manager auch aktiviert worden. Wenn ich eine beliebige Excel-Datei öffne, ist das Add-In vorhanden. Starte ich dieses dann manuell im VBA-Editor klappt ebenfalls alles.
Warum findet er in der Access-Prozedur das Add-In nicht? Kann mir jemand helfen?
Grüße
Markus