Funktionreferenz


_Excel_SheetAdd

Beschreibung anzeigen in

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 = ""]]]] )

Parameter

$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

Rückgabewert

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

Verwandte Funktionen

_Excel_SheetDelete

Beispiel

Beispiel 1

#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.")

Beispiel 2

#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.")

Beispiel 3

#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.")