(13.06.2018, 19:52)Helvetier schrieb: [ -> ]Hallo kuki
Unser grösstes Problem ist, Dein Problem zu verstehen. Das liegt aber an Dir.
Sendet nun SAP die Datei
- in das Verzeichnis C:\temp und Du musst Sie von Hand öffnen?
- in das Verzeichnis C:\Temp und bringt sie gleich auf den Bildschirm?
- in das Verzeichnis C:\Temp und öffnet sie von da auf den Bildschirm?
- nur auf den Bildschirm ohne sie zu speichern (in C:/Temp ist sie dann nicht vorhanden)?
Hallo und Sorry, dass ich nicht eher geantwortet habe.
Ich versuche auf die Fragen einzugehen:
Vorher ist es so gewesen, dass SAP die Exceldatei samt umfangreichem VBA-Code, bestehend aus Modulen, UserForms, Sheets etc., in das C:\Temp kopiert hat und die "Anwendung" automatisch startete, indem der Code in Workbook_Open ausgeführt worden war. Den Code habe ich ja vor einigen Tagen
hier im Forum veröffentlicht.
Aktuell ist es aber so, dass SAP zwar die Datei wie zuvor in das C:\Temp Verzeichnis hineinkopiert, die Anwendung aber nicht mehr "automatisch" gestartet wird, der Code aus Workbook_Open wir also nicht ausgeführt.
KONKRET:
SAP kopiert die Datei in das C:\Temp und öffnet die Excel-Datei - Startet aber nicht zusätzlich (wie gewohnt) die VBA-Anwendung, indem wie gesagt Workbook_Open noch zusätzlich aufgerufen wird.
Auf einem der Sheets ist ein Button hinterlegt. Wenn Workbook_Open nicht automatisch ausgeführt wird, kann man diesen Button drücken. Dann wird zwar die Methode
modPQP.startPQP aufgerufen. Ich könnte natürlich die sonstigen Befehle aus workbook_open mit in diese Methode nehmen und den Usern sagen, dass sie immer manuell über diesen Button die Anwendung starten. Aber das ist ja nicht im Sinne des Erfinders. Außerdem möchte ich den Grund für das Problem finden.
Ich habe auch noch ein Workaround gefunden, workbook_OPen über workbook_activate aufzurufen, was auch gut funktioniert. Möchte aber diesen Weg nicht gehen, da es sich um viele Dokumente geht, die betroffen sind und so behandelt werden müssten. Sie meine ich es:
private sub workbook_activate
workbook_open
end sub
private sub workbook_open
'der alte code - unverändert
end sub
Ich hoffe, dass ich jetzt die Fragen beantwortet habe.
Übrigens: Ich möchte nicht die Infos zurück halten, weil ich irgendwie Spaß daran habe! Habe einfach Respekt davor, den kompletten Code hier zu veröffentlichen, weil er Eigentum des Kunden ist und er wahrscheinlich nicht so gerne möchte, dass ich das tue.