Fügt neue Arbeitsblätter zu einem Arbeitsbuch hinzu und setzt ihre Namen
#include <Excel.au3>
_Excel_SheetAdd ( $oWorkbook [, $vSheet = Default [, $bBefore = True [, $iCount = 1 [, $sName = ""]]]] )
$oWorkbook | Ein Arbeitsbuch-Objekt |
$vSheet | [optional] Objekt, Index oder Name des Arbeitsblattes vor/nach dem das neue Arbeitsblatt eingefügt werden soll. -1 = Fügt vor/nach dem letzten Arbeitsblatt ein (Standard = Schlüsselwort Default = aktives Arbeitsblatt) |
$bBefore | [optional] Das neue Arbeitsblatt wird vor $vSheet eingefügt wenn True, nach $vSheet wenn False (Standard = True) |
$iCount | [optional] Anzahl Arbeitsblätter die eingefügt werden sollen (Standard = 1). Maximal 255 |
$sName | [optional] Namen der Arbeitsblätter die erstellt werden sollen (Standard = "" = folgt der Excel Konvention). Wenn $iCount > 1 können mehrere Namen mit einem | (Pipe Zeichen) getrennt übergeben werden. Arbeitsblätter werden von links nach rechts benannt |
Erfolg: | Das Objekt des (ersten) eingefügten Arbeitsblattes. |
Fehler: | 0 und setzt @error. |
@error: | 1 - $oWorkbook ist kein Objekt oder Arbeitsbuch-Objekt 2 - $vSheet ist ungültig. Name oder Index existiert nicht. @extended ist auf den COM Fehlercode gesetzt 3 - Die angegebene Seite existiert bereits. @extended ist auf die Index-Nummer des Namens in $sName gesetzt 4 - Ein Fehler trat beim Hinzufügen des Arbeitsblattes auf. @extended ist auf den COM Fehlercode gesetzt 5 - Ein Fehler ist beim Setzen des Namens des neuen Arbeitsblattes aufgetreten. @extended ist auf den COM Fehlercode gesetzt 6 - Parameter $iCount > 255 |
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Erstellt das Anwendungsobjekt und öffnet eine Beispielarbeitsmappe
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 1", "Fehler beim Erstellen des Excel-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 1", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\_Extras\Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Fügt zwei Arbeitsblätter nach dem letzten Arbeitsblatt ein und ändert den Namen dieser neuen Arbeitsblätter
_Excel_SheetAdd($oWorkbook, -1, False, 2, "Test1|Test2")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 1", "Fehler beim Einfügen des Arbeitsblattes" & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 1", "Zwei Arbeitsblätter nach dem letzten Arbeitsblatt eingefügt.")
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Erstellt das Anwendungsobjekt und öffnet eine Beispielarbeitsmappe
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 2", "Fehler beim Erstellen des Excel-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 2", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Fügt ein Arbeitsblatt vor dem zweiten Arbeitsblatt ein
_Excel_SheetAdd($oWorkbook, 2)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 2", "Fehler beim Einfügen des Arbeitsblattes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 2", "Arbeitsblatt vor Arbeitsblatt 2 eingefügt.")
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Erstellt das Anwendungsobjekt und öffnet eine Beispielarbeitsmappe
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 3", "Fehler beim Erstellen des Excel-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 3", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Fügt ein Index-Arbeitsblatt vor Arbeitsblatt 1 mit Verknüpfungen zu allen anderen Arbeitsblättern ein
Local $oSheet = _Excel_SheetAdd($oWorkbook, 1, True, 1, "Index")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 3", "Fehler beim Einfügen des Arbeitsblattes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oSheet.Range("A1").Value = "Index"
Local $iRow = 2
For $iSheet = 2 To $oWorkbook.Sheets.Count
$oSheet.Cells($iRow, 1).Value = $iRow - 1
$oSheet.Cells($iRow, 2).Value = $oWorkbook.Worksheets($iRow).Name
$oSheet.Hyperlinks.Add($oSheet.Cells($iRow, 2), "", "'" & $oSheet.Cells($iRow, 2).Value & "'!A1")
$iRow = $iRow + 1
Next
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetAdd Beispiel 3", "Index-Arbeitsblatt vor Arbeitsblatt 1 eingefügt.")