Funktionreferenz


_Excel_BookSave

Beschreibung anzeigen in

Speichert das angegebene Arbeitsbuch

#include <Excel.au3>
_Excel_BookSave ( $oWorkbook )

Parameter

$oWorkbook Objekt des Arbeitsbuches das gespeichert werden soll

Rückgabewert

Erfolg: 1. Setzt @extended auf:
    0 - Datei wurde nicht gespeichert weil es seit dem letzten Speichern oder Öffnen nicht geändert wurde
    1 - Datei wurde gespeichert weil es seit dem letzten Speichern oder Öffnen geändert wurde
Fehler: 0 und setzt @error.
@error: 1 - $oWorkbook ist kein Objekt oder Arbeitsbuch-Objekt
2 - Ein Fehler trat beim Speichern auf. @extended wird auf den COM Fehlercode gesetzt

Bemerkungen

Ein neu erstelltes Arbeitsbuch muss zuerst mit _Excel_BookSaveAs() gespeichert werden.

Verwandte Funktionen

_Excel_BookSaveAs

Beispiel

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Erstellen des Anwendungsobjektes
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpen Beispiel", "Fehler beim Erstellen des Excel Objektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

; Erstellen einer neue Arbeitsmappe, schreiben einiger Daten und speichern in @tempdir
; Erstellen eines neuen Workbook
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSave Beispiel 1", "Fehler beim Erstellen des neuen Workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Etwas in die Zelle A1 schreiben
_Excel_RangeWrite($oWorkbook, Default, "Test", "A1")
If Not IsObj($oWorkbook) Or ObjName($oWorkbook, 1) <> "_Workbook" Then Exit SetError(1, 0, 0)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSave Beispiel 1", "Fehler beim Schreiben in Zelle 'A1'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Speichern des Workbook in @tempdir als _Excel.xls (ersetzt existierende Datei)
_Excel_BookSaveAs($oWorkbook, @TempDir & "\_Excel.xls", Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSave Beispiel 1", "Fehler beim Speichern des Workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Etwas in die Zelle B1 schreiben
_Excel_RangeWrite($oWorkbook, Default, "2nd Test", "B1")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSave Beispiel 1", "Fehler beim Schreiben in Zelle 'A1'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Speichern des geänderten Workbook
_Excel_BookSave($oWorkbook)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSave Beispiel 1", "Fehler beim Speichern des Workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSave Beispiel 1", "Das Workbook wurde erfolgreich gespeichert als '" & @TempDir & "\_Excel.xls'.")