Öffnet ein existierendes Arbeitsbuch (Workbook)
#include <Excel.au3>
_Excel_BookOpen ( $oExcel, $sFilePath [, $bReadOnly = False [, $bVisible = True [, $sPassword = Default [, $sWritePassword = Default [, $bUpdateLinks = Default]]]]] )
$oExcel | Excel Anwendungs-Objekt, mit dem das neue Arbeitsbuch geöffnet werden soll |
$sFilePath | Pfad oder Dateiname der Datei die geöffnet werden soll |
$bReadOnly | [optional] True öffnet das Arbeitsbuch als read-only (nur lesen) (Standard = False) |
$bVisible | [optional] True legt fest, ob das Arbeitsbuch-Fenster sichtbar sein wird (Standard = True) |
$sPassword | [optional] Passwort um das Arbeitsbuch zu lesen (falls es vergeben wurde) (standardmäßig keines) |
$sWritePassword | [optional] Passwort um das Arbeitsbuch zu schreiben (falls es vergeben wurde) (standardmäßig keines) |
$bUpdateLinks | [optional] Legt die Art fest, wie externe Referenzen (Links) in der Datei aktualisiert werden (Standard = Schlüsselwort Default) Mögliche Werte sind: Default: Excel fragt den Nutzer um zu entscheiden, wie Links aktualisiert werden sollen 0: Excel öffnet keine Aktualisierungs-Links 3: Excel aktualisiert alle Links |
Erfolg: | Ein Arbeitsbuch-Objekt. @extended wird auf 1 gesetzt wenn $bReadOnly = False aber Lese- und Schreibzugriff nicht garantiert werden kann. Siehe unter Remarks für mehr Details. |
Fehler: | 0 und setzt @error. |
@error: | 1 - $oExcel ist kein Objekt oder kein Anwendungs-Objekt 2 - Der angegebene $sFilePath existiert nicht 3 - Es ist nicht möglich $sFilePath zu öffnen. @extended wird auf den COM Fehlercode gesetzt der von der Open-Funktion zurückgegeben wird 4 - Excel hat kein Arbeitsbuch-Objekt zurückgegeben. Dies könnte darauf zurückzuführen sein, dass Excel nicht in der Lage ist, zwei Arbeitsmappen mit demselben Namen gleichzeitig zu öffnen |
Wenn $bReadOnly = False gesetzt ist, das Dokument aber nicht zum Lesen und Schreiben geöffnet werden kann, ist @extended auf 1 gesetzt.
Das Arbeitsbuch wurde nur zum Lesen geöffnet, weil es bereits von einem anderen Nutzer/Dienst geöffnet ist oder die Datei vom Dateisystem auf nur Lesen gesetzt ist.
Wenn das Arbeitsbuch geändert wird muss _Excel_BookSaveAs() verwendet werden um es an einem anderen Ort oder mit einem anderen Namen zu speichern.
Wenn $bVisible = False gesetzt ist, muss sichergestellt werden, dass das Arbeitsbuch wieder sichtbar gemacht wird, bevor es gespeichert wird.
Dies geschieht mit $oExcel.Windows($oWorkbook.Name).Visible
Andernfalls wird das Arbeitsbuch nicht sichtbar, wenn es manuell mit Excel geöffnet wird.
Meist wird dieser Parameter nicht gebraucht. $bVisible = False in _Excel_Open ist der bevorzugte Weg.
Wenn $bUpdateLinks auf Default gesetzt ist, bekommt der Nutzer nur eine Abfrage, wenn $bDisplayAlerts in der Funktion _Excel_Open auf True gesetzt ist.
Wenn $bDisplayAlerts auf falsch gesetzt ist, wählt Excel die Standardantwort.
_Excel_BookAttach, _Excel_BookClose, _Excel_BookNew, _Excel_BookOpenText
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Erstellt das Anwendungsobjekt
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpen Beispiel 1", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Öffnet eine bestehende Arbeitmappe und zeigt das Erstellungsdatum an
Local $sWorkbook = @ScriptDir & "\Extras\_Excel1.xls"
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpen Beispiel 1", "Fehler beim Öffnen der Arbeitsmappe '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpen Beispiel 1", "Arbeitsmappe '" & $sWorkbook & "' wurde erfolgreich geöffnet." & @CRLF & @CRLF & "Erstellungsdatum: " & $oWorkbook.BuiltinDocumentProperties("Creation Date").Value)