[VBA] Excel wartet auf die Beendigung einer OLE-Aktion
27.07.2023 16:56:44
Hantelheber
ich stehe vor einem Rätsel und hoffe jemand kann mir helfen.
Folgender Code kopiert aus dem aktiven WB ein spezifisches Blatt in eine neue Datei und speichert diese.
Das funktioniert soweit einwandfrei, solange ich das Makro im Editor abspiele.
Sobald ich einen Button o.ä. mit dem Makro belege und dieses darüber aufrufe, gibts nach dem speichern, bzw. am Ende einen Freeze mit dem Ergebnis folgender Msg Box "Microsoft Exel wartet auf die Beendigung einer OLE-Aktion in einer anderen Anwendung".
Sobald ich diese mit OK bestätige, läuft das Makro final durch.
Verrückt ist, dass es offenbar an einem COM-Addin liegt.
Sobald ich dieses nicht lade, oder deaktiviere, läuft das Makro ebenfalls per Klick durch.
Wenn ich versuche das Addin per Makro zu deaktivieren (klappt) und anschließend wieder zu aktivieren (klappt nicht), öffnet sich der Debug Mode mit dem Hinweis "Die Methode 'Connect' für das Objekt 'COMAddIn' ist fehlgeschlagen."
Ein Klick auf "Beenden" lässt Excel abschmieren (forced close).
Auch hier: spiele ich das Makro im Editor ab, läuft es einandfrei durch (inkl. Deaktivieren & Aktivieren des Addins).
Hat jemand DEN heißen Tipp für mich?
Lieben Dank vorab
Holger
Sub SendDiff()
Application.COMAddIns("SapExcelAddIn").Connect = False
Dim AWS As String
Dim strSAPDATUM As String
Dim strDieseDatei As String
strSAPDATUM = ActiveWorkbook.Worksheets("VAR").Cells(37, 2).Value
strDieseDatei = ActiveWorkbook.Worksheets("VAR").Cells(7, 2).Value
Rem Pfad für PDF festlegen
AWS = Environ("USERPROFILE") & "\AppData\Local\Temp\Bestandsabgleich und Differenzen zum " & strSAPDATUM & ".xlsx"
Rem Tabellenblatt speichern
Sheets("Diff").Select
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=AWS, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close
Windows(strDieseDatei).Activate
Sheets("Menü").Select
Application.COMAddIns("SapExcelAddIn").Connect = True
Rem Aufräumen
'Kill AWS
End Sub