Funktionsreferenz


_ExcelBookSaveAs

Speichert die aktive Excel-Datei des festgelegten Excel Objekts mit einem neuen Dateinamen und /oder Typ.

#include <Excel.au3>
_ExcelBookSaveAs($oExcel, $sFilePath [, $sType = "xls" [, $fAlerts = 0 [, $fOverWrite = 0 [, $sPassword = "" [, $sWritePassword = "" [, $iAccessMode = 1 [, $iConflictResolution = 2]]]]]]])

Parameter

$oExcel Ein Excel Objekt welches durch einen vorherigen Aufruf von _ExcelBookOpen() oder _ExcelBookNew() geöffnet wurde
$sFilePath Pfad und Dateiname der zu schreibenden Datei
$sType [optional] Excel schreibbare Dateitypen als String = "xls|csv|txt|template|html", Standard "xls"
$fAlerts [optional] Flag für das deaktivieren/aktivieren von Hinweisfenstern (0=deaktiviert, 1=aktiviert) (Standard = 0)
$fOverWrite [optional] Flag für das überschreiben der Datei falls diese bereits existiert (0=nein, 1=ja)
$sPassword [optional] Das String-Passwort mit dem die Excel-Datei geschützt werden soll; falls leer, wird kein Passwort verwendet (Standard = leer)
$sWritePassword [optional] Das String-Passwort mit dem man auf die Excel-Datei einen Schreibzugriff erhält; falls leer, wird kein Passwort verwendet (Standard = leer)
$iAccessMode [optional] Der Dokument-Freigabemodus welcher der Excel-Datei zugewiesen werden soll:
$xlNoChange [optional] Lässt den Freigabemodus so wie er ist (Standard) (numerischer Wert = 1)
$xlExclusive [optional] Deaktiviert die gemeinsame Nutzung der Excel-Datei (numerischer Wert = 3)
$xlShared [optional] Aktiviert die gemeinsame Nutzung der Excel-Datei (numerischer Wert = 2)
$iConflictResolution [optional] Für gemeinsam genutzte Dokumente, wie Freigabekonflikte gelöst werden sollen:
$xlUserResolution [optional] Es erscheint eine Dialogbox die den Benutzer frägt wie das Problem gelöst werden soll (numerischer Wert = 1)
$xlLocalSessionChanges [optional] Die lokalen Änderungen des Benutzers werden immer angenommen (Standard) (numerischer Wert = 2)
$xlOtherSessionChanges [optional] Die lokalen Änderungen des Benutzers werden immer abgelehnt (numerischer Wert = 3)

Rückgabewert

Erfolg: 1
Fehler: 0 und setzt @error
@error: 1 - festgelegtes Objekt existiert nicht
2 - ungültiger Dateityp String
3 - Datei existiert bereits, jedoch wurde das Überschreibeflag nicht gesetzt

Bemerkungen

Man kann mit _ExcelBookSaveAs eine Excel-Datei nur unter dem gleichen Pfad abspeichern, unter dem die Excel-Datei ursprünglich geöffnet wurde ( gilt nicht für neue, ungespeicherte Excel-Dateien).

Verwandte Funktionen

Beispiel


; ***************************************************************
; Beispiel 1 - Öffnet eine existierende Excel-Datei und gibt deren Objekt-ID zurück. Dann wird die Datei unter einem neuen Namen ohne Warnmeldungen gespeichert.
; *****************************************************************

#include <Excel.au3>

Local $sFilePath1 = @ScriptDir & "\Test1.xls" ; Diese Datei sollte bereits existieren
Local $oExcel = _ExcelBookOpen($sFilePath1)

; Fehler, die während des Öffnens der Datei auftreten, anzeigen
If @error = 1 Then
    MsgBox(0, "Fehler!", "Das Excel-Objekt konnte nicht erstellt werden.")
    Exit
ElseIf @error = 2 Then
    MsgBox(0, "Fehler!", "Die Datei existiert nicht.")
    Exit
EndIf

; Die Datei wird gespeichert und geschlossen (ohne Warnmeldungen und ohne Rücksicht auf Änderungen):
_ExcelBookSaveAs($oExcel, @ScriptDir & "\SaveAsExample", "xls")
If Not @error Then MsgBox(0, "Erfolgreich!", "Die Datei wurde gespeichert.", 3)
_ExcelBookClose($oExcel, 1, 0)


; ***************************************************************
; Beispiel 2 - Öffnet eine existierende Excel-Datei und gibt deren Objekt-ID zurück. Dann wird die Datei unter einem neuen Namen ohne auftretende Meldungen gespeichert.
;               Die Datei wird überschrieben falls sie bereits existiert. Außerdem wird die Datei mit einem Passwort geschützt. Dann wird die Datei geöffnet, um die Passwortabfrage zu demonstrieren.
; *****************************************************************

#include <Excel.au3>

$sFilePath1 = @ScriptDir & "\Test1.xls" ; Diese Datei sollte bereits existieren
$oExcel = _ExcelBookOpen($sFilePath1)

; Fehler, die während des Öffnens der Datei auftreten, anzeigen
If @error = 1 Then
    MsgBox(0, "Fehler!", "Das Excel-Objekt konnte nicht erstellt werden")
    Exit
ElseIf @error = 2 Then
    MsgBox(0, "Fehler!", "Die Datei existiert nicht")
    Exit
EndIf

; Die Datei wird gespeichert und geschlossen (ohne Warnmeldungen und ohne Rücksicht auf Änderungen):
_ExcelBookSaveAs($oExcel, @ScriptDir & "\SaveAsExample2", "xls", 0, 1, "Geheim") ; Speichert die Datei unter dem Namen "SaveAsExample2.xls" mit dem PW "Geheim" ab.
If Not @error Then MsgBox(0, "Erfolgreich!", "Die Datei wurde gespeichert.", 3)

$oExcel = _ExcelBookOpen(@ScriptDir & "\SaveAsExample2.xls", 1, False) ; Es wird die Datei geöffnet, um die Passwortabfrage zu demonstrieren.