VSTOはVisual Studio Tools for Office の略で、officeのアドインやマクロ付きドキュメントを、VB.netやc#などで記述できるフレームワークです。Visual Studioで開発することができ、VBAとオサラバできるMS公式フレームワークです。
この記事では、c#で、Excelブックのクリップボードパネルを表示・非表示する方法を紹介します。
クリップボードパネルとは?
クリップボードパネルには、クリップボードにコピーされた情報が表示され、マウスクリックで貼り付けできたり、どのような情報があるか分かるようになっています。
クリップボードで扱える情報は直近の1つだけでなく、過去にコピーした情報も表示することができます。またデータはテキスト形式だけじゃなく、画像も扱うことができます。
クリップボードパネルの表示と非表示を切り替えるコード
クリップボードの表示と非表示を切り替えるには、DisplayClipboardWindowプロパティを変更します。
DisplayClipboardWindowプロパティがTrue
であればクリップボードパネルを表示し、False
であれば非表示にします。
以下のコードでは引数にbool型でdisplayFlag
を取るようにしています。この引数の値をDisplayClipboardWindow
プロパティにセットすることで、表示と非表示を切り替えるようにしています。
public static void DisplayClipboard(bool displayFlag)
{
Globals.ThisAddIn.Application.DisplayClipboardWindow = displayFlag;
}
クリップボードパネルを表示するには
上記の関数を使用してクリップボードパネルを表示するには、true
を引数にセットして呼び出します。
ThisAddIn.DisplayClipboard(true);
クリップボードパネルを非表示にするには
上記の関数を使用してクリップボードパネルを非表示にするには、false
を引数にセットして呼び出します。
ThisAddIn.DisplayClipboard(false);
ソースコード全文
ソースコード全文は以下のgithubリポジトリに格納しています。
コンパイルすれば動作しますので、Visual Studioをお持ちの方は遊んでみてください。
https://github.com/harus0313/cliesx