シート非表示について †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | 鬼太郎 |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2011-05-15 10:40:07 (日) |
OS | WinXP |
依存するページ | |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
お世話になります。 シート非表示について質問ですが
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "aTableName"
args1(0).Value = "Sheet"
dispatcher.executeDispatch(document, ".uno:Hide", "", 0, args1())
上記コードを実行した場合は
エクセルで言うと
Sheets("Sheet").Visible = Hidden
を実行した場合と同じですが、
Sheets("Sheet").Visible = xlSheetVeryHidden
と同じ様にオープンオフィスで作成したいのですが可能でしょうか?
機能があるかどうか †
M.Kamataki (2011-05-15 16:11:47 (日))
まずできたらExcelの機能について参考にできるサイトがあったらご質問時に書き添えておいてください。以下は調べたものですが、こういった時間ももったいないのでよろしくお願いします。
4.6 表示・非表示を切り替える
http://www.happy2-island.com/excelsmile/smile03/capter00406.shtml
CalcのAPIなども調べてみましたが、とりあえず機能があるかどうかもわかりませんでした。さて、非表示にする目的はユーザーには見せたくないということでしょうか? そうするとExcelでも同じような議論があります。以下をご覧ください。
【8715】Visible=xlSheetVeryHiddenについて
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=8715;id=excel
VBAを知っていると「xlSheetVeryHidden」は万能ではないということですね。Calcでは「ツール」‐「ドキュメントの保護」と組み合わせると良いのではないでしょうか。OOoBasic Wikiの以下のページも参考になると思います。
表の保護と保護解除について
http://hermione.s41.xrea.com/pukiwiki/pukiwiki.php?OOobbs2%2F69
無題 †
tani (2011-05-16 11:18:54 (月))
イベントリスナーとか使って、表のプロパティが表示に切り替えられたタイミングで強制的に非表示に戻す、といった動作のマクロなら実装可能だと思います。(あまり意味がなさそうな気がしますが。。。)