Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

[VBA] Excel wartet auf die Beendigung einer OLE-Aktion

Forumthread: [VBA] Excel wartet auf die Beendigung einer OLE-Aktion

[VBA] Excel wartet auf die Beendigung einer OLE-Aktion
27.07.2023 16:56:44
Hantelheber
Hallo zusammen,

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
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: [VBA] Excel wartet auf die Beendigung einer OLE-Aktion
28.07.2023 09:15:34
Alwin Weisangler
Hallo Holger,
läuft bei mir nach Auskommentieren des AddIn ohne Probleme.
Da, oder ein weiterer noch in diesem Kontext laufender Prozess wirst du wohl bei der Fehlersuche ansetzen müssen.
Mehr von hier aus wäre Kaffeesatzleserei.

Gruß Uwe
Anzeige
;
Anzeige

Infobox / Tutorial

Excel und OLE-Aktionen: Probleme und Lösungen


Schritt-für-Schritt-Anleitung

Wenn Du mit dem Fehler „Microsoft Excel wartet auf die Beendigung einer OLE-Aktion in einer anderen Anwendung“ konfrontiert wirst, kannst Du die folgenden Schritte ausprobieren:

  1. Makro im Editor testen: Stelle sicher, dass Dein Makro im VBA-Editor ohne Probleme läuft. Dies kann dazu beitragen, festzustellen, ob das Problem mit einem COM-Addin zusammenhängt.

  2. Addin deaktivieren: Wenn Du vermutest, dass ein COM-Addin das Problem verursacht, kannst Du es vorübergehend deaktivieren. Dies geschieht in der Regel über die Excel-Optionen unter „Add-Ins“.

  3. Code anpassen: Überprüfe den Code und stelle sicher, dass keine Abhängigkeiten von anderen Anwendungen bestehen. Ein Beispiel für einen Codeausschnitt:

    Sub SendDiff()
       Application.COMAddIns("SapExcelAddIn").Connect = False
       ' Dein Code hier
       Application.COMAddIns("SapExcelAddIn").Connect = True
    End Sub
  4. Excel neu starten: Manchmal hilft ein einfacher Neustart von Excel, um Probleme mit OLE-Aktionen zu beheben.

  5. Fehlermeldung bestätigen: Wenn die Fehlermeldung erscheint, klicke auf „OK“ und beobachte, ob das Makro anschließend weiterhin funktioniert.


Häufige Fehler und Lösungen

  • Fehler: Microsoft Excel wartet auf die Beendigung einer OLE-Aktion
    Lösung: Deaktiviere die entsprechenden Addins oder teste das Makro ohne deren Nutzung.

  • Fehler: Debug Mode wird aktiviert
    Lösung: Überprüfe den Code auf Fehler und stelle sicher, dass alle Objekte ordnungsgemäß geschlossen sind.

  • Fehler: Excel friert ein
    Lösung: Reduziere die Anzahl der offenen Anwendungen, um die Systemressourcen zu entlasten.


Alternative Methoden

Falls die oben genannten Schritte nicht helfen, kannst Du auch folgende Methoden in Betracht ziehen:

  • Makro über eine Schaltfläche ausführen: Erstelle eine Schaltfläche in Excel und verlinke sie mit Deinem Makro. Manchmal funktioniert dies besser als das Ausführen aus dem VBA-Editor.

  • VBA-Fehlerbehandlung: Implementiere eine Fehlerbehandlungsroutine in Deinem VBA-Code, um die spezifischen Fehler abzufangen.

    On Error Resume Next
    ' Dein Code hier
    If Err.Number <> 0 Then
       MsgBox "Fehler aufgetreten: " & Err.Description
    End If

Praktische Beispiele

Ein praktisches Beispiel, das den Fehler „excel wartet auf die Beendigung einer ole aktion“ erzeugen könnte, ist die Verwendung von OLE-Funktionen in Kombination mit Excel-Addins. Hier ist ein Beispiel:

Sub BeispielMitOLE()
    ' Verbinde mit einer OLE-Anwendung
    Dim objOLE As Object
    Set objOLE = CreateObject("OLE.Application")

    ' Führe OLE-Aktion aus
    objOLE.SomeMethod

    ' Schließe OLE-Anwendung
    Set objOLE = Nothing
End Sub

Wenn Du die OLE-Anwendung nach dem Ausführen des Makros nicht schließt, kann dies zu Problemen führen.


Tipps für Profis

  • Regelmäßige Updates: Halte Deine Excel-Version und alle Addins stets auf dem neuesten Stand, um Komplikationen durch veraltete Software zu vermeiden.

  • Ressourcenmonitor: Nutze den Windows Ressourcenmonitor, um zu prüfen, ob andere Anwendungen die Leistung von Excel beeinträchtigen.

  • Skripte optimieren: Überprüfe Deine VBA-Skripte auf Effizienz und reduziere unnötige Berechnungen oder Schleifen.


FAQ: Häufige Fragen

1. Was bedeutet „Excel wartet auf die Beendigung einer OLE-Aktion“?
Dieser Fehler tritt auf, wenn Excel auf die Fertigstellung einer Aktion in einer anderen Anwendung wartet, die über OLE (Object Linking and Embedding) kommuniziert.

2. Wie kann ich eine OLE-Aktion in Excel beenden?
Du kannst die OLE-Aktion beenden, indem Du die entsprechende Anwendung schließt oder das Excel-Fenster neu startest.

3. Was kann ich tun, wenn Excel weiterhin auf eine OLE-Aktion wartet?
Überprüfe Deine Addins, deaktiviere sie und teste das Makro erneut. Gehe auch sicher, dass alle Abhängigkeiten ordnungsgemäß funktionieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige