LibreOffice Calc Basic - シートを非表示にする方法

◆概要

業務用のCalcでは、シートを非表示にするケースがあります。例えば、ユーザーには見せたくないデータが入ったシートやマクロで使う作業用シートがある場合です。そのシートは、ユーザーに見せたくありません。そんなときは、作業用シートを非表示にしてしまうと便利です。

◆シートの非表示はisVisibleプロパティにFalse
シートの表示と非表示を切り替えるには、SheetオブジェクトのisVisibleプロパティを操作します。isVisibleプロパティにTrueを設定すると表示され、Falseで非表示になります。次のコードはSheet1を非表示にしています。

Sub HideSheet
    Dim oDoc As Object
    Dim oSheets As Object
    Dim OSheet As Object
    
    oDoc=ThisComponent
    oSheets = oDoc.getSheets()
    OSheet=oSheets.getByName("Sheet1")
    OSheet.isVisible=False
End Sub

 isVisibleプロパティにFalseを設定して非表示にしたシートは、[書式]メニューの[シート]-[表示]で開く[シートを表示]ダイアログボックスから表示することができます。

 Basicでこのシートを再表示するには、isVisibleプロパティにTrueを設定します。

Sub UnhideSheet
    Dim oDoc As Object
    Dim oSheets As Object
    Dim OSheet As Object
    
    oDoc=ThisComponent
    oSheets = oDoc.getSheets()
    OSheet=oSheets.getByName("Sheet1")
    OSheet.isVisible=True
End Sub

すべてのワークシートに対して、表示するようにするコードは以下の通りです。

Sub UnhideAllSheet
   Dim Doc As Object
   Dim Sheet As Object
   Dim i As Long
   Dim c As Long
   
   Doc = ThisComponent
   c = Doc.Sheets.Count
   for i = 1 to c
      Sheet = Doc.Sheets(i-1)
      Sheet.isVisible = True
   next i
End sub


▼ページトップへ