2011年4月19日火曜日

シートのコピー

下図の通り、ドキュメントに三つのシートがあったする。
  
  
このとき「Sheet1」を「Sheet4」という名前で末尾にコピーし、コピーした後
アクティブにするコードを下記に記す :
  
Sub ExampleCopySheet()
       Dim objController As Object

       Dim objSheet As Object

       '
       '「Sheet1」を末尾に移動
       ThisComponent.Sheets.copyByName("Sheet1", "Sheet4", 4)
       '
       '移動後「Sheet4」をアクティブにする

       With ThisComponent
              objController = .getCurrentController()
              obSheet = .Sheets.getByName("Sheet4")
              objController.setActiveSheet(objSheet)
       End With
End Sub
  
シートをコピーする為には、copyByName メソッドを使用する。
copyByName メソッドの書式は下記の通り :
  
copyByName(Sheetname, NewSheetname, Index)
  
Sheetname には、コピーする対象のシートのシート名を指定する。
NewSheetName には、コピー後のシート名を指定する。

Index には、コピー先のインデックス番号を指定する。上記の例の
場合、コピー後のシート数は四つなので、末尾にコピーする為には
インデックス番号に 4 を指定する。
copyByName メソッドに戻り値はない。
  
処理を実行した結果は、下記の通り「Sheet1」と同じシートが末尾に

コピーされている :
  

0 件のコメント:

コメントを投稿