Funktionreferenz


_Excel_SheetCopyMove

Beschreibung anzeigen in

Kopiert oder verschiebt das angegebene Arbeitsblatt vor oder hinter ein Arbeitsblatt im selben oder einem anderen Arbeitsbuch

#include <Excel.au3>
_Excel_SheetCopyMove ( $oSourceBook [, $vSourceSheet = Default [, $oTargetBook = $oSourceBook [, $vTargetSheet = 1 [, $bBefore = True [, $bCopy = True]]]]] )

Parameter

$oSourceBook Object des Quell-Arbeitsbuches aus dem das Arbeitsblatt kopiert oder verschoben werden soll
$vSourceSheet [optional] Name, Index oder Objekt des Arbeitsblattes das kopiert/verschoben werden soll (default = Keyword Default = aktives Arbeitsblatt)
$oTargetBook [optional] Objekt des Ziel-Arbeitsbuches, in das das Arbeitsblatt kopiert/verschoben werden soll (default = Keyword Default = $oSourceBook)
$vTargetSheet [optional] Das kopierte/verschobene Arbeitsblatt wird vor oder nach diesem Arbeitsblatt platziert (Name, Index oder Objekt) (default = Keyword Default = erstes Arbeitsblatt)
$bBefore [optional] Das kopierte/verschobene Arbeitsblatt wird vor $vTargetSheet platziert bei True, dahinter bei False (default = True)
$bCopy [optional] Kopiert das angegebene Arbeitsblatt bei True, verschiebt es bei False (default = True)

Rückgabewert

Erfolg: Ein Objekt des kopierten/verschobenen Arbeitsblattes
Fehler: 0 und setzt @error.
@error: 1 - $oSourceBook ist kein Objekt oder kein Arbeitsbuch-Objekt
2 - $oTargetBook ist kein Objekt oder kein Arbeitsbuch-Objekt
3 - Angegebenes Quell-Arbeitsblatt existiert nicht. Name oder Index ist falsch. @extended ist auf den COM Fehlercode gesetzt
4 - Angegebenes Ziel-Arbeitsblatt existiert nicht. Name oder Index ist falsch. @extended ist auf den COM Fehlercode gesetzt
5 - Error trat beim Kopieren/Verschieben des Arbeitsblattes auf. @extended ist auf den COM Fehlercode gesetzt

Verwandte Funktionen

_Excel_SheetDelete

Beispiel

Beispiel 1

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Erstellt das Anwendungsobjekt und öffnet eine Beispiel-Arbeitsmappe
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 1", "Fehler beim Erstellen des Excel-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Öffne eine Arbeitsmappe
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 1", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Kopiert Arbeitsblatt 1 nach Arbeitsblatt 3
Local $oCopiedSheet = _Excel_SheetCopyMove($oWorkbook1, 1, Default, 3, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 1", "Fehler beim Kopieren des Arbeitsblattes" & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Setzt den Namen des neuen Arbeitsblattes
#forceref $oCopiedSheet
$oCopiedSheet.Name = "Kopiertes Arbeitsblatt"
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 1", "Arbeitsblatt 1 nach Arbeitsblatt 3 kopiert und umbenannt.")

Beispiel 2

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Erstellt das Anwendungsobjekt und öffnet eine Beispiel-Arbeitsmappe
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 2", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Arbeitsmappe 1 öffnen
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 2", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Blatt 2 vor Blatt 1 verschieben. Legt den Namen des verschobenen Blattes fest
Local $oMovedSheet = _Excel_SheetCopyMove($oWorkbook1, 2, Default, 1, Default, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 2", "Fehler beim Verschieben des Blattes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Setzt den Namen des neuen Blattes
#forceref $oMovedSheet
$oMovedSheet.Name = "Verschobenes Blatt"
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 2", "Blatt 2 wurde vor Blatt 1 verschoben")

Beispiel 3

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Erstellt das Anwendungsobjekt und öffnet eine Beispiel-Arbeitsmappe
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 3", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Arbeitsmappe 2 öffnen
Local $oWorkbook2 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel3.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 3", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf
; Öffnet Arbeitsmappe 1
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 3", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Blatt 3 der Arbeitsmappe 1 nach Blatt 3 der Arbeitsmappe 2 kopieren
_Excel_SheetCopyMove($oWorkbook1, 3, $oWorkbook2, 3, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 3", "Fehler beim Kopieren des Blatts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 3", "Arbeitsmappe 1 Blatt 3 nach Arbeitsmappe 2 nach Blatt 3 kopiert")

Beispiel 4

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Erstellt das Anwendungsobjekt und öffnet eine Beispiel-Arbeitsmappe
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 4", "Fehler beim Erstellen des Excel-Anwendungsobjekts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Arbeitsmappe 2 öffnen
Local $oWorkbook2 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel3.xls", True)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 4", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf
; Arbeitsmappe 1 öffnen
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 4", "Fehler beim Öffnen der Arbeitsmappe '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; Blatt 1 der Arbeitsmappe 1 vor Blatt 1 der Arbeitsmappe 2 verschieben
_Excel_SheetCopyMove($oWorkbook1, 1, $oWorkbook2, 1, Default, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 4", "Fehler beim Verschieben des Blatts." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_SheetCopyMove Beispiel 4", "Arbeitsmappe 1 Blatt 1 nach Arbeitsmappe2 vor Blatt 1 verschoben")