Freigeben über

Öffnen von Workbooks in Excel läuft auf Fehler 1004

Anonym
2022-08-26T07:44:42+00:00

Hallo zusammen,

ich habe für einen Kunden ein sehr merkwürdiges Problem bei der Ausführung eines Excel Makros, Datei Auftragsverarbeitung.xlsm.

Innerhalb des Makros werden/sollen andere Workbooks geöffnet werden, um Daten daraus zu kopieren.

Das Öffnen erfolgt über

Dim wb As Workbook

wb = Workbooks.open(strFilename, , True)

strFilename ist befüllt, Datei ist vorhanden und lässt sich auch als einzelne Datei in Excel öffnen.

Wenn die Exceldatei mit Doppelklick geöffnet wird, erfolgt das Einlesen der Workbooks automatisch:

Private Sub Workbook_Open()
Auftragsverarbeitung
End Sub

Auf diese Weise funktioniert der Import ohne Probleme. Allerdings soll der Import per Batch erfolgen da 3 Mal am Tage Daten aufbereitet werden und im Anschluss über dieses Makro verarbeitet werden.

Und nun kommt das Problem: Wenn das Makro per Batch gestartet wird, läuft die Methode Workbooks.open(strFilename, , True) auf einen Fehler 1004 mit Err.Description:

Microsoft Excel kann auf die Datei 'oacu01\d\PUBLIC\huvo\BDELaufprot\Schichtberichte\Walzwerk\2022-08\503-2022-08.xls' nicht zugreifen. Dies kann mehrere Gründe haben:

• Der Name des Dokuments oder der Pfad ist nicht vorhanden.

• Das Dokument wird von einem anderen Programm verwendet.

• Der Name der Arbeitsmappe, die gespeichert werden soll, ist identisch zu dem Namen eines anderen Dokuments, welches schreibgeschützt ist.

Zwei Dinge erscheinen mit hier komisch:

  1. In der Err.Description ist der Dateiname nicht richtig. Der Variableninhalt ist \huvoacu01\d\PUBLIC\huvo\BDELaufprot\Schichtberichte\Walzwerk\2022-08\503-2022-08.xls. Das kann natürlich nur ein Fehler in der Fehlerausgabe sein.
  2. Die Datei ist vorhanden und der Fehler tritt nur auf, wenn das Makro als Batch gestartet wird.

Bei der Suche nach einer Problemlösung habe ich gefunden, dass ein Desktopverzeichnis in C:\Windows\SysWOW64\config\systemprofile\Desktop

angelegt sein muss. Dieses war tatsächlich nicht vorhanden, aber nach der Anlage löste auch das leider nicht das Problem.

Ich bin mit meinem Latein am Ende und weiß nicht, wo ich hier noch nach Fehlern suchen kann. Hoffentlich hat irgendwer eine Lösung.

Der Rechner läuft mit Windows Server 2008 R2 64-bit, Excel 2010 32-bit

Microsoft 365 und Office | Excel | Geschäftlich | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
{count} Stimmen

1 Antwort

Sortieren nach: Am hilfreichsten
  1. Andreas Killer 144K Zuverlässigkeitspunkte Freiwilliger Moderator
    2022-08-26T10:07:52+00:00

    Mach mal einen Test damit:

    Private Sub Workbook_Open()

    Application.OnTime Now + TimeSerial(0, 1, 0), "Auftragsverarbeitung"
    End Sub

    Was passiert?

    Andreas.

    0 Kommentare Keine Kommentare