Top > OOobbs > 71

OOobbs/71 Edit

  • サマリ: アクティブなシートのインデックスを取得するには?
  • 環境: Calc
  • 状態: 解決
  • 投稿者: ひで?
  • 投稿日: 2005-06-09 (木) 14:44:46

質問 Edit

CALCの1.1.4をWindowsXPで使っています。 早速本題ですが、アクティブなシートのインデックスを取得できなくて困っています。

IDLリファレンス↓ http://api.openoffice.org/docs/common/ref/com/sun/star/module-ix.html を見てみても、それらしきメソッドやプロパティが見つかりませんでした。 OOoBasic初心者なので何か勘違いしているかもしれませんが、ご存じの方いらしたらよろしくご指導お願いします。

回答 Edit

  • シートのインデックスをシートオブジェクトから直接取得するメソッドがありません。

そこで,アクティブシートオブジェクトからシート名を調べて,インデックス順にシートと照らし合わせてインデックスを調べてやる必要があります。

Sub activesheetindex()
Dim oDoc As Object, oController As Object
Dim oSheets As Object, oActiveSheet As Object
Dim oLocSheet As Object
Dim sActiveSheetName As String
Dim i As Integer
  oDoc = ThisComponent
  oController = oDoc.getCurrentController()
  oActiveSheet = oController.getActiveSheet()
  sActiveSheetName = oActiveSheet.Name
  oSheets = oDoc.getSheets()
  For i = 0 To oSheets.getCount() -1
    If oSheets.getByIndex(i).Name = sActiveSheetName Then
      MsgBox i
      Exit For
    End If
  Next i
End Sub

アクティブシートなどに関する情報については OOoBasic/Calc のページからたどってもらえるといいと思います。

  • はにゃ?? 2005-06-10 (金) 01:38:12
  • ありがとうございます。わざわざコードを提示していただいて助かります。
    • ひで? 2005-06-11 (土) 13:47:00


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes