Speichert das angegebene Arbeitsbuch mit einem neuen Dateinamen und/oder Typ
#include <Excel.au3>
_Excel_BookSaveAs ( $oWorkbook, $sFilePath [, $iFormat = $xlWorkbookDefault [, $bOverWrite = False [, $sPassword = Default [, $sWritePassword = Default [, $bReadOnlyRecommended = False]]]]] )
$oWorkbook | Arbeitsbuch-Objekt, das gespeichert werden soll |
$sFilePath | Pfad und Dateiname der Datei die gespeichert werden soll |
$iFormat | [optional] Excel schreibbarer Dateityp. Kann ein Wert der XlFileFormat Aufzählung sein |
$bOverWrite | [optional] True überschreibt eine bereits existierende Datei (Standard = False) |
$sPassword | [optional] Passwort mit dem die Datei vor Lesezugriff geschützt werden soll. Wird das Schlüsselwort Default genutzt, so wird kein Passwort gesetzt (Sstandard = Schlüsselwort Default) |
$sWritePassword | [optional] Passwort mit dem die Datei vor Schreibzugriff geschützt werden soll. Wird das Schlüsselwort Default genutzt, so wird kein Passwort gesetzt (Standard = Schlüsselwort Default) |
$bReadOnlyRecommended | [optional] True zeigt eine Nachricht beim Öffnen der Datei, welche empfiehlt, die Datei nur zum Lesen zu öffnen (Standard = False) |
Erfolg: | 1. |
Fehler: | 0 und setzt @error. |
@error: | 1 - $oWorkbook ist kein Objekt 2 - $iFormat ist keine Zahl 3 - Datei existiert, das Flag zum überschreiben ist nicht gesetzt 4 - Datei existiert, kann aber nicht gelöscht werden 5 - Ein Fehler trat beim Speichern auf. @extended ist auf den COM Fehlercode gesetzt, der von der SaveAs Methode zurückgegeben wurde |
Seit Excel 2007 muss sowohl der $iFormat Parameter als auch die richtige Dateierweiterung in $sFilePath angegeben sein.
Z.B. $iFormat = $xlExcel8 und die Erweiterung extension = "xlsx" würde einen Fehler zurückgeben.
Siehe die XlFileFormat Aufzählung in ExcelConstants.au3 für mögliche Werte.
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Erstellen des Anwendungsobjektes und Öffnen eines Beispiel Workbooks
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Beispiel", "Fehler beim Erstellen des Excel Objektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Beispiel", "Fehler beim Öffnen des Workbooks '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Speichern des Workbook (xls) in einem anderen Format (html) in einem anderen Verzeichnis und
; überschreiben einer vorhandenen Version
Local $sWorkbook = @TempDir & "\_Excel1.html"
_Excel_BookSaveAs($oWorkbook, $sWorkbook, $xlHtml, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Beispiel 1", "Fehler beim Speichern des Workbook in '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookSaveAs Beispiel 1", "Das Workbook wurde erfolgreich gespeichert als '" & $sWorkbook & "'.")
ShellExecute($sWorkbook)