んもー!Microsoftちゃんったらー! あはははは!!!(右手をグーにしながら
Microsoft Word で現在の表示モードが「アウトラインモード」か確認したーい! (すイエんサーのノリで
ということで、オブジェクトブラウザからソレっぽいものを検索したところ、Microsoft.Office.Interop.Word.View
にプロパティとして Type
があり、型が WdViewType
なるもの。
WdViewType
の列挙メンバは
- wdMasterView
- wdNormalView
- wdOutlineView
- wdPrintPreview
- wdPrintView
- wdReadingView
- wdWebView
うん、コレしかないじゃないですか! ってことで、以下のようなコード書いてみました。
object first = 1; // なんで↓の第1引数が object 取るわ、ref だわなのよコレ Word.View view = hDoc.Windows.get_Item(ref first).View; bool isOutlineMode = (view.Type == Microsoft.Office.Interop.Word.WdViewType.wdOutlineView);
コレでばっちり! パーフェクトだよボブ! …ってことで、いざアウトライン表示にして、このコードを実行してみたらですね… isOutlineMode
が false なんですよ。 なん…だと…
調べてみるとアウトライン表示でも、view.Type == wdMasterView
な事が判明…って何でやねん! なんで view が Outline なのに wdOutlineView が取れないねん!! → ぐぐる
Type プロパティは、現在の表示モードがアウトライン表示またはグループ文書表示であるすべての文書の wdMasterView を取得します。あらかじめコードで明示的に設定されていない限り、現在の表示モードで wdOutlineView が取得されることはありません。
現在の文書がアウトライン表示かどうかを確認するには、Type プロパティおよび Subdocuments コレクションの Count プロパティを使用します。Type プロパティで wdOutlineView または wdMasterView が取得され、Count プロパティで 0 (ゼロ) が取得された場合、文書はアウトライン表示です。
View.Type Property (Microsoft.Office.Interop.Word) | Microsoft Docs
●イガー! ジェノサァァイド!!
Office開発は鬼門。