Wie kann man eine per Access-VBA automatisch geöffnete Excel-Datei direkt wieder schließen?

Antwort

Um eine Excel-Datei, die per Access-VBA geöffnet wurde, automatisch wieder zu schließen, solltest du das Excel-Objektmodell in deinem Access-VBA-Code verwenden. Hier ein Beispiel, wie das geht: ```vba Dim xlApp As Object Dim xlWB As Object Set xlApp = CreateObject("Excel.Application") Set xlWB = xlApp.Workbooks.Open("C:\Pfad\zur\Datei.xlsx") ' Hier kannst du ggf. mit der Datei arbeiten xlWB.Close SaveChanges:=False ' oder True, wenn du speichern willst xlApp.Quit Set xlWB = Nothing Set xlApp = Nothing ``` **Wichtige Hinweise:** - `SaveChanges:=False` schließt die Datei ohne zu speichern. Wenn du Änderungen speichern willst, setze es auf `True`. - Mit `xlApp.Quit` wird die gesamte Excel-Anwendung geschlossen. - Die Objekte werden am Ende auf `Nothing` gesetzt, um Speicher freizugeben. Weitere Infos findest du z.B. in der [Microsoft-Dokumentation zu Excel VBA](https://learn.microsoft.com/de-de/office/vba/api/overview/excel). So wird die Excel-Datei nach dem Öffnen automatisch wieder geschlossen.

Kategorie: Programmierung Tags: Excel VBA Access
KI fragen

Verwandte Fragen

Was bedeutet ErrNum 75 in Access VBA?

Der Fehlercode **ErrNum = 75** in Microsoft Access VBA steht für **"Pfad/Datei-Zugrifffehler"** (englisch: "Path/File access error"). Dieser Fehler tritt auf, wenn ein Zugriff... [mehr]

Ist Shapes("Rechteck 1").Visible = True korrekt in Excel-VBA?

Der Ausdruck `Shapes("Rechteck 1").Visible = True` ist in Excel-VBA **nicht korrekt**, da das `Visible`-Eigenschaftsmerkmal für Shapes in Excel-VBA **nicht existiert**. In Excel-VBA s... [mehr]

Ist folgender Excel-VBA-Code korrekt: HeightPt = Rows("4:" & Cells(49,19).Row).Height?

Der gezeigte Code ist in Excel-VBA **nicht korrekt** und führt zu einem Fehler. Das Problem liegt in der Syntax innerhalb der `Rows`-Funktion. Hier die Analyse: **Dein Code:** ```vba HeightPt =... [mehr]

Wie kann man in Excel-VBA einen RGB-Code aus einer Zelle lesen?

Um in Excel-VBA einen RGB-Code aus einer Zelle zu lesen und diesen z.B. für die Füllfarbe eines Shapes zu verwenden, kannst du wie folgt vorgehen: Angenommen, in Zelle **A1** steht der RGB-... [mehr]

Wie erstelle ich in Access VBA eine SQL-Abfrage?

Um in Microsoft Access per VBA eine Abfrage (Query) mit SQL zu erstellen, kannst du das DAO-Objektmodell verwenden. Hier ein Beispiel, wie du per VBA eine neue Abfrage mit einer SQL-Anweisung erstells... [mehr]

Was ist falsch an folgendem Access VBA SQL-Statement: strSQL = "INSERT INTO tbl_Bestände_HZV (Datum, RLEx) IN " & strPfadExtern & "." & ZielTabelle & ...?

In deinem SQL-Statement gibt es mehrere Probleme: 1. **Syntaxfehler bei `IN`**: Das `IN`-Schlüsselwort wird in Access-SQL für das Einfügen in eine externe Tabelle verwendet, aber... [mehr]

Ist der Code wert = Range("Ergebnisse[Gab Bauteil lang]").Value in VBA fehlerfrei?

Der Code `wert = Range("Ergebnisse[Gab Bauteil lang]").Value` ist in VBA **nicht fehlerfrei**, wenn du auf eine Excel-Tabelle mit strukturierten Verweisen (Tabellenreferenzen) zugreifen m&ou... [mehr]

Kann man Private Sub Workbook_SheetBeforeRightClick in Private Sub Workbook_Open integrieren?

Nein, das ist nicht möglich. In VBA (Visual Basic for Applications) sind `Workbook_Open` und `Workbook_SheetBeforeRightClick` zwei eigenständige Ereignisprozeduren (Event Handler), die jewei... [mehr]

Gibt es If Not (Bedingung) Then in VBA für Excel?

Ja, in VBA für Excel gibt es die Möglichkeit, eine Bedingung mit **If Not (Bedingung) Then** zu prüfen. Das Schlüsselwort **Not** kehrt die Bedingung um. Hier ein Beispiel: ```vba... [mehr]

Ist 'Range(Cells(a,10):Cells(b,10)).Copy' im VBA-Code korrekt?

Die Syntax `Range(Cells(a,10):Cells(b,10)).Copy` ist in VBA (Visual Basic for Applications) **nicht korrekt**. In VBA muss der Bereich innerhalb der `Range`-Funktion als String oder als zwei separate... [mehr]