VSTOメモ
カスタム作業ウィンドウ
VSTOからModeless WPF Windowを呼びだす
別スレッドからWindow.Show()する必要がある
さらにCOMコンポーネントはSTAでないとダメ(キー入力とか上手く取れない)
ただしSTAにしちゃうと、VSTO側から触るのが困難
WindowではなくControlであれば、ElementHostを介して標示することが可能
Model WindowならWindow.ShowDialog()すればOK?
VSTOプロジェクト内にXamlファイルがいると、色々めんどくさくなる?
結果的に、WindowならおとなしくWinForms使ったほうが良さそう
参考
VSTOで複数のユーザコントロールを切り替えるには
VSTO で WPF を使うには
以下、Excel関連
SpecialCellsはSheetSelectionChangeイベントを発火させる
Rangeの最終セル
Target.Item[Target.Rows.Count, Target.Columns.Count]
SpecialCellsはRangeのプロパティだが、Range.CountLarge == 1の時はシート全体を対象とするので注意が必要
検索と置換の検索対象オプション
「値」の場合は、表示されている文字列を対象に検索する
「数式」の場合は、数式の文字列を対象に検索する
ただし、数式が使われてない(=で始まっていない)セルは入力されている値がそのまま数式として扱われる
Range.HasFormula = falseだけど数式としてヒットする
「2」を検索した場合
検索対象が「数式」なら・・・
「=2+2」のセルがヒットする
「2」のセルもヒットする(数式ではないが)
検索対象が「値」なら・・・
「=1+1」のセルがヒットする(表示される文字列が「2」なので)
「2」のセルもヒットする
VSTOでKeyHook