シンプルな MS Word アドインを作成しようとしています (主に機能を調べるため)。アドインはカスタム タスク パネルを追加し、リボンにグループを追加します。リボン コントロールには、カスタム タスク パネルの表示を制御するためのチェックボックスと、ドキュメントを開くためのボタンが含まれています。MS Word でアドインをテストすると、タスク ペインが正しく表示され、チェックボックスが正しく機能します。問題は、ボタンをクリックして新しいドキュメントを開くとすぐに、作業ウィンドウが非表示になり、チェックボックスが作業ウィンドウの表示を制御しなくなったことです。何がうまくいかないのですか?カスタム作業ウィンドウを表示し続けるにはどうすればよいですか?
アドインの単純なバージョンを次に示します。
public partial class ThisAddIn
{
private MyUserControl _myUserControl;
private CustomTaskPane _myCustomTastPane;
private OpenFileDialog _dialog;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
_dialog = new OpenFileDialog { Filter = "Doc File (*.rtf)|*.rtf", RestoreDirectory = true };
_myUserControl = new MyUserControl();
_myCustomTastPane = this.CustomTaskPanes.Add(_myUserControl, "My Task Pane");
_myCustomTastPane.Visible = true;
Globals.Ribbons.MyRibbon.ShowPane.Click += ShowClicked;
Globals.Ribbons.MyRibbon.LoadDoc.Click += LoadFile;
}
private void ShowClicked(object sender, RibbonControlEventArgs ribbonControlEventArgs)
{
_myCustomTastPane.Visible = Globals.Ribbons.MyRibbon.ShowPane.Checked;
}
void LoadFile(object sender, RibbonControlEventArgs e)
{
if (_dialog.ShowDialog() != DialogResult.OK) return;
object missing = Missing.Value;
object myFalse = false;
object myTrue = true;
object format = WdSaveFormat.wdFormatRTF;
object fileToOpen = _dialog.FileName;
Application.Documents.Open(ref fileToOpen, ref myFalse, ref myFalse, ref myFalse, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref myTrue, ref myFalse, ref missing, ref missing, ref missing);
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
#region VSTO generated code
//....
#endregion
}
簡単にするために、リボンの定義は省略しました。これは、実際には単なるボタンとチェックボックスであるためです。クラスの内容はそれほど重要ではないため、MyUserControl の定義も省いています (私のデモ バージョンでは、ラベル付きの単純なクラスしかありません)。