Das Speichern von Thisworkbook ist ein wichtiger Schritt bei der Entwicklung von VBA-Anwendungen in Excel. Ein Thisworkbook ist ein Objekt, das Makros, Code und Einstellungen für eine ausgewählte Excel-Arbeitsmappe enthält. Daher ist das Speichern dieser Arbeitsmappe ein wesentlicher Bestandteil des Speicherns aller am Code vorgenommenen Änderungen.
Es gibt mehrere Möglichkeiten, ein Thisworkbook mit VBA zu speichern. Eine der einfachsten Methoden besteht darin, die Save-Methode zu verwenden, die die Arbeitsmappe mit ihrem aktuellen Namen und Speicherort speichert. Wenn die Arbeitsmappe keinen Namen hat, wird sie im Standardverzeichnis gespeichert.
Wenn Sie dem Benutzer die Möglichkeit geben müssen, einen Speicherort auszuwählen oder den Dateinamen vor dem Speichern zu ändern, können Sie die SaveAs-Methode verwenden. Mit dieser Methode können Sie den Pfad, den Dateinamen und das zu speichernde Dateiformat angeben. Zum Beispiel können Sie eine Datei im CSV-Format speichern, um sie später in anderen Programmen zu verwenden.
Unabhängig von der gewählten Speichermethode ist es wichtig, das Thisworkbook regelmäßig zu speichern, während Sie an einem Projekt arbeiten. Dies vermeidet Datenverluste im Falle eines Ausfalls oder unerwarteter Umstände.
In diesem Artikel werden wir Beispiele für die Verwendung der Save- und SaveAs-Methoden zum Speichern von Thisworkbook in VBA Excel betrachten und Ihnen Tipps zur Organisation und Automatisierung des Speicherprozesses geben. Lesen Sie weiter, um zu erfahren, wie Sie Ihre VBA-Projekte sicher halten und Datenverluste vermeiden können.
Grundlagen zum Speichern in Excel VBA
VBA (Visual Basic for Applications) in Excel bietet die Möglichkeit, verschiedene Aufgaben zu automatisieren, einschließlich des Speicherns von Dateien. Das Speichern einer Datei kann zum Speichern von Änderungen, zum Sichern oder zum Exportieren von Daten nützlich sein. In diesem Abschnitt werden die grundlegenden Methoden zum Speichern in Excel in VBA behandelt.
Es gibt mehrere Möglichkeiten, Dateien in VBA Excel zu speichern. Eine der einfachsten Methoden besteht darin, die Save-Methode zu verwenden, um die aktive Arbeitsmappe (ThisWorkbook) zu speichern. Die Save-Methode speichert die Datei unter dem aktuellen Dateinamen auf dem Datenträger:
ThisWorkbook.Save
Wenn Sie die Datei mit einem neuen Namen speichern möchten, können Sie die SaveAs-Methode verwenden. Mit der SaveAs-Methode können Sie einen neuen Dateinamen und einen neuen Pfad angeben:
ThisWorkbook.SaveAs "C:\Новый_файл.xlsx"
Neben dem Speichern im aktuellen Excel-Format können Sie die Datei auch in anderen Formaten wie CSV (Comma Separated Values) oder PDF (Portable Document Format) speichern. Dazu müssen Sie die entsprechende Dateierweiterung angeben, wenn Sie die SaveAs-Methode verwenden:
ThisWorkbook.SaveAs "C:\Новый_файл.csv", FileFormat:=xlCSVThisWorkbook.SaveAs "C:\Новый_файл.pdf", FileFormat:=xlTypePDF
Sie können auch verschiedene Speicheroptionen festlegen, z. B. Passwortschutz oder Seitenformatierung, indem Sie die entsprechenden Argumente der SaveAs-Methode verwenden.
Alternativ können Sie die SaveCopyAs-Methode verwenden, um eine Kopie der Datei mit dem neuen Namen zu speichern:
ThisWorkbook.SaveCopyAs "C:\Копия_файла.xlsx"
Jetzt sind Sie mit den grundlegenden Methoden zum Speichern in Excel VBA vertraut. Sie können mit ihnen experimentieren und nach Ihren Bedürfnissen und Anforderungen eine geeignete Speichermethode auswählen.
Vorteile der Verwendung von Thisworkbook
Das ThisWorkbook-Modul in Excel VBA ist ein spezielles Modul, mit dem Sie mit Ereignissen arbeiten können, die mit der Excel-Arbeitsmappe selbst zusammenhängen. Die Verwendung des ThisWorkbook-Moduls bietet mehrere Vorteile, die Ihnen helfen, die Arbeit mit dem Buch zu vereinfachen und zu organisieren.
- Einfache Handhabung von Ereignissen: mit dem ThisWorkbook-Modul können Sie verschiedene Ereignisse definieren und behandeln, die mit dem Öffnen, Schließen oder Speichern einer Arbeitsmappe verbunden sind. Sie können beispielsweise festlegen, dass beim Öffnen einer Arbeitsmappe ein bestimmter Code ausgeführt wird oder dass der Benutzer vor dem Schließen der Arbeitsmappe aufgefordert wird, die Änderungen zu speichern. Dieser Ansatz hilft Ihnen, bestimmte Aktionen während der Arbeit mit einer Excel-Arbeitsmappe zu automatisieren.
- Erhöhte Sicherheit: mithilfe des ThisWorkbook-Moduls können Sie den Zugriff auf eine Excel-Arbeitsmappe steuern. Sie können ein Passwort zum Öffnen, Bearbeiten oder Speichern einer Arbeitsmappe festlegen. Diese Sicherheitsmaßnahmen helfen, vertrauliche Daten zu schützen und unbefugten Zugriff auf das Buch zu verhindern.
- Verbesserung des Automatisierungsprozesses: das Modul ThisWorkbook bietet die Möglichkeit, zusätzliche Prozeduren und Funktionen zu erstellen, die zur Automatisierung verschiedener Aufgaben verwendet werden können. Sie können beispielsweise eine Prozedur erstellen, die beim Speichern einer Arbeitsmappe automatisch ausgeführt wird, ohne dass bestimmte Aktionen manuell ausgeführt werden müssen.
Die Verwendung des ThisWorkbook-Moduls in VBA Excel bietet praktische Werkzeuge für die Arbeit mit einer Arbeitsmappe, verbessert die Datensicherheit und hilft bei der Automatisierung verschiedener Aufgaben. Dies macht es zu einem nützlichen Werkzeug für Entwickler und fortgeschrittene Benutzer, die den Arbeitsablauf mit Excel optimieren möchten.
Thisworkbook speichern: Schritt für Schritt
Hier ist eine einfache Schritt-für-Schritt-Anleitung zum Speichern eines ThisWorkbook mit VBA:
Schritt 1: Öffnen Sie den visuellen VBA-Editor, indem Sie ALT + F11 drücken.
Schritt 2: Suchen Sie im VBA-Editor-Fenster den Projektbaum auf der linken Seite des Bildschirms. Erweitern Sie den Projektbaum, indem Sie zweimal auf den Namen der Arbeitsmappe klicken (z. B. "Book1").
Schritt 3: Suchen Sie in der Dropdown-Liste nach dem ThisWorkbook-Objekt, und klicken Sie mit der rechten Maustaste darauf.
Schritt 4: Wählen Sie im angezeigten Kontextmenü "Code anzeigen" - dies öffnet ein Codefenster für das ThisWorkbook.
Schritt 5: Fügen Sie im Codefenster den folgenden Code ein:
Sub SaveThisWorkbook() ThisWorkbook.Save End Sub
Schritt 6: Drücken Sie STRG + S oder wählen Sie "Speichern" aus dem Menü "Datei" đ файл Datei speichern. Die gespeicherte Datei hat eine Erweiterung .xlsm (für Arbeitsmappen, die Makros enthalten).
Wenn Sie nun die SaveThisWorkbook-Prozedur aufrufen, werden alle Änderungen an der aktuellen Arbeitsmappendatei (ThisWorkbook) gespeichert.
Diese einfache Anleitung veranschaulicht die grundlegende Möglichkeit, ein ThisWorkbook mit VBA-Code zu speichern. Sie können diesen Code anpassen, um zusätzliche Funktionen hinzuzufügen, z. B. das Hinzufügen eines Dialogfelds zum Speichern oder das Ändern des Dateiformats.
Stellen Sie sicher, dass Sie alle erforderlichen Änderungen vornehmen, bevor Sie das ThisWorkbook speichern, da der gesamte VBA-Code mit der Dokumentenmappendatei gespeichert wird.
Überlegungen zum Speichern von Thisworkbook
Verwenden des Befehls Save
Der Befehl Save ist eine der häufigsten Methoden zum Speichern einer Thisworkbook-Datei. Sie können die Änderungen an der aktuellen Datei mit ihrem aktuellen Namen und Speicherort speichern. Beispiel für die Verwendung des Befehls Save:
Verwenden des Befehls SaveAs
Der Befehl SaveAs ist eine weitere Möglichkeit, eine Thisworkbook-Datei zu speichern. Es ermöglicht Ihnen, die Datei unter einem neuen Namen und/oder an einem neuen Speicherort zu speichern. Beispiel für die Verwendung des Befehls SaveAs:
Verwenden einer Variablen für den Dateipfad
Um den Code flexibler zu machen, können Sie eine Variable verwenden, um den Dateipfad zu speichern. Dies ermöglicht es Ihnen, den Dateipfad bei Bedarf einfach zu ändern. Ein Beispiel:
Dim path As String
Prüfen, ob eine Datei vor dem Speichern vorhanden ist
Es wird empfohlen, vor dem Speichern einer Thisworkbook-Datei zu überprüfen, ob eine Datei mit diesem Namen und Speicherort bereits vorhanden ist. Dadurch wird verhindert, dass eine vorhandene Datei versehentlich überschrieben wird. Ein Beispiel:
If Dir("С:\Путь\к\файлу .xlsx") = "" Then
Dies sind nur einige Empfehlungen zum Speichern einer Thisworkbook-Datei in VBA Excel. Denken Sie daran, dass das richtige Speichern einer Datei ein wichtiger Teil der Anwendungsentwicklung in VBA ist. Wenn Sie diese Richtlinien befolgen, können Sie Ihre Dateien sicher und effizient speichern.
Automatisches Speichern von Thisworkbook
Um das Thisworkbook automatisch zu speichern, können Sie das BeforeClose-Ereignis verwenden, das vor dem Schließen der Arbeitsmappe auftritt. Fügen Sie dem Thisworkbook-Modul den folgenden Code hinzu:
Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Save End Sub
Dieser Code ruft die Save-Methode für Thisworkbook auf, die die Arbeitsmappe speichert. Wenn Sie möchten, dass die Arbeitsmappe bei jeder Änderung automatisch gespeichert wird, können Sie das Workbook_BeforeSave-Ereignis verwenden:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ThisWorkbook.Save End Sub
Sie können auch das automatische Speichern in bestimmten Abständen mithilfe des Application-Objekts und der OnTime-Methode konfigurieren. Zum Beispiel speichert der folgende Code das Thisworkbook alle 5 Minuten:
Sub AutoSave() Application.OnTime Now + TimeValue("00:05:00"), "SaveWorkbook" End Sub Sub SaveWorkbook() ThisWorkbook.Save Call AutoSave End Sub
Dieser Code führt die AutoSave-Prozedur aus, die die OnTime-Methode aufruft, um die Arbeitsmappe nach 5 Minuten zu speichern. Nachdem Sie die Arbeitsmappe gespeichert haben, ruft SaveWorkbook die Prozedur AutoSave erneut auf, um das nächste Speicherintervall festzulegen.
Wenn Sie in Workbook_BeforeSave oder Workbook_BeforeClose den Wert Cancel auf True setzen, wird die Arbeitsmappe nicht gespeichert. Dies kann beispielsweise nützlich sein, wenn Sie den Benutzer fragen möchten, ob er die Änderungen speichern möchte.
Mit diesen Methoden können Sie das Thisworkbook einfach so konfigurieren, dass es automatisch in VBA für Excel gespeichert wird.
Speichern von Thisworkbook in anderen Formaten
Excel bietet die Möglichkeit, die aktive Arbeitsmappe (Thisworkbook) in verschiedenen Formaten zu speichern, zusätzlich zum Hauptformat .xlsx-Format. Dies kann nützlich sein, wenn Sie die Arbeitsmappe im alten Format speichern müssen, um die Kompatibilität mit älteren Versionen von Excel zu gewährleisten, oder wenn Sie die Arbeitsmappe in einem anderen Format speichern müssen, das für spezifische Anforderungen geeignet ist.
Im Folgenden sind einige der verfügbaren Speicherformate für Thisworkbook aufgeführt:
Excel 97-2003 Workbook (.xls): Dieses Format speichert die Arbeitsmappe in einem alten Format, das mit älteren Versionen von Excel kompatibel ist. Es hat eine Begrenzung für die Anzahl der Zeilen und Spalten, kann jedoch nützlich sein, wenn Sie die Datei an andere Benutzer weitergeben möchten, die eine ältere Version von Excel verwenden.
Excel Binary Workbook (.xlsb): Dieses Format speichert das Buch im Binärformat, was es im Vergleich zu einem Buch schlanker und schneller macht .xlsx-Format. Es sei denn, Sie müssen das Buch in anderen Programmen wie OpenOffice oder LibreOffice öffnen.xlsb kann eine gute Wahl sein.
CSV (Comma delimited) (.csv): Wenn Sie nur Werte ohne Formatierung und Formeln speichern müssen, kann das CSV-Format nützlich sein. Es speichert die Daten als durch Kommas getrennte Textdatei. CSV-Dateien können in jedem Programm geöffnet werden, das das Lesen von Textdateien unterstützt, einschließlich Excel.
PDF or XPS: Excel kann Arbeitsmappen auch im PDF- oder XPS-Format speichern, um sicherzustellen, dass die Formatierung und das Erscheinungsbild der Arbeitsmappe beim Drucken oder Freigeben von Dateien erhalten bleiben. PDF- oder XPS-Dateien können auf jedem Gerät mit dem Adobe Acrobat Reader oder dem integrierten XPS-Dateibetrachter unter Windows geöffnet werden.
Um Thisworkbook in anderen Formaten zu speichern, können Sie die SaveAs-Methode verwenden, indem Sie das gewünschte Dateiformat, den Speicherpfad und den Dateinamen angeben. Zum Beispiel, um eine Arbeitsmappe in einem Format zu speichern .xls, Sie können den folgenden Code verwenden:
ThisWorkbook.SaveAs "C:\Путь\к\файлу\Название.xls", FileFormat:=56
Im obigen Beispiel ist 56 der Dateiformat-Code für die Excel 97-2003-Arbeitsmappe (.xls).
Das Speichern von Thisworkbook in anderen Formaten kann nützlich sein, wenn Sie die Kompatibilität mit älteren Versionen von Excel sicherstellen oder die Datei mit anderen Benutzern teilen möchten, die andere Programme verwenden.
Arbeiten mit externen Referenzen beim Speichern von Thisworkbook
Wenn Sie mit Thisworkbook in VBA Excel arbeiten, müssen Sie möglicherweise Verweise auf externe Dateien oder andere Zellen speichern. In diesem Fall ist es wichtig, mit diesen externen Links richtig zu arbeiten, um alle erforderlichen Daten zu speichern und den Verlust von Informationen zu vermeiden.
Es gibt mehrere Möglichkeiten, externe Referenzen in Thisworkbook zu speichern. Eine davon ist die Verwendung der VBA-Hyperlinks-Funktion.Add . Mit dieser Funktion können Sie eine Verknüpfung zu einer anderen Datei oder Zelle erstellen und diese Verknüpfung speichern.
Sub AddExternalLink()Thisworkbook.Sheets("Sheet1").Hyperlinks.Add Anchor:=Thisworkbook.Sheets("Sheet1").Range("A1"), _Address:="C:\Path\To\External\File.xlsx", _SubAddress:="Sheet2!A1", _TextToDisplay:="Link to External File"End Sub
In diesem Beispiel fügen wir einen externen Verweis auf Zelle A1 von Sheet1 in einer anderen Datei "External\File" hinzu.xlsx". Wenn Sie Thisworkbook speichern, wird dieser Link gespeichert und später verfügbar.
Eine andere Möglichkeit, externe Referenzen zu speichern, ist die Verwendung der Cell-Funktion.FormulaR1C1 . Mit dieser Funktion können Sie eine Formel angeben, die auf eine Zelle in einer anderen Datei oder auf ein anderes Arbeitsblatt verweist.
Sub AddExternalFormula()Thisworkbook.Sheets("Sheet1").Range("A1").FormulaR1C1 = "=[External\File.xlsx]Sheet2!R1C1"End Sub
In diesem Beispiel legen wir eine Formel für Zelle A1 von Arbeitsblatt Sheet1 fest, die auf Zelle R1C1 von Arbeitsblatt Sheet2 in der Datei "External\File" verweist.xlsx". Wenn Sie Thisworkbook speichern, wird diese Formel bei jedem Öffnen der Dateien gespeichert und aktualisiert.
Beachten Sie, dass Sie bei der Verwendung von Xrefs in Thisworkbook mögliche Änderungen am Dateipfad oder an der Kachelstruktur externer Dateien berücksichtigen müssen. Wenn Sie den Dateinamen ändern oder die Kacheln verschieben, funktionieren die Verknüpfungen möglicherweise nicht mehr oder weisen auf falsche Daten hin. Daher sollten Sie bei der Arbeit mit externen Links vorsichtig sein und regelmäßig überprüfen, ob sie korrekt sind.