OOobbs/16
質問マクロの自動記録を使うことによって、ある行を非表示にしたり、表示させたりする方法は分かります。しかし、ある行の状態が表示か、非表示かを取得する方法が見つかりません。行の高さがゼロであることは非表示と同等ではないかと考えて、行の高さを取得すること方法を探してみましたが、これも見つかりません。VBAではCells(x,y).EntireRow.Hidden=TrueがPropertyとMethodを兼ねていて簡単ですが、OOoではこれをどのように取得すればいいのでしょう。どなたか教えて頂けないでしょうか? 回答
たとえば,あるセル "Sheet1.A2" が含まれている行について考えます。 Sub row Dim oDoc As Object, oSheet As Object Dim oCell As Object, oRow As Object oDoc = ThisComponent oSheet = oDoc.getSheets().getByName("Sheet1") oCell = oSheet.getCellRangeByName( "A2" ) oRow = oCell.Rows MsgBox oRow.IsVisible oRow.IsVisible = false MsgBox oRow.IsVisible End Sub まず,最初に表示されるダイアログでは,その行が表示されているかを調べました。そして,次の行で oRow.IsVisible = false として行を非表示にし,次の行で再度,行が表示されているかを調べています。 行オブジェクトを取得するために使用しているのが oRow = oCell.Rows の部分です。 Rows プロパティーがそのセルまたはセル範囲が属している行オブジェクトを保持しています。列オブジェクトの場合には, Columns プロパティーになります。 一応,OOoBasic/Calc/rcisvisible にドキュメントを作成しておきました。
|