VSTO C# Excelアドインで各種ダイアログを表示する方法

C#

VSTOはVisual Studio Tools for Office の略で、officeのアドインやマクロ付きドキュメントを、VB.netやc#などで記述できるフレームワークです。Visual Studioで開発することができ、VBAとオサラバできるMS公式フレームワークです。

この記事では、c#で、ソートやフォント設定などの各種のExcelダイアログを表示する方法を紹介します。

基本となるダイアログ表示コード

この記事では、並び替え(ソート)、フォントの設定、印刷プレビュー、ブックの共有などいろいろなダイアログの表示方法を紹介しますが、使用する基本的なコードは以下になります。

        public static void ShowDialog(Microsoft.Office.Interop.Excel.XlBuiltInDialog dialogCode)
        {
            Globals.ThisAddIn.Application.Dialogs[dialogCode].Show(
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

        }

各ダイアログの指定方法は、この関数の引数として設定しているXlBuiltInDialog列挙型を利用します。

XlBuiltInDialog列挙型の公式ドキュメント

XlBuiltInDialog列挙型の公式ドキュメントは以下にあります。

XlBuiltInDialog 列挙型 (Microsoft.Office.Interop.Excel)
表示するダイアログ ボックスを指定します。

ですが、見て分かる通りとっても不親切です。

定数名で説明されているダイアログ ボックスを表示しますって・・・それって具体的になんなんですか・・・。全くドキュメントになっていないと思うのは私だけでしょうか。。。

ということで具体例をいくつか紹介します。

並び替えダイアログ(ソート)

並び替えダイアログを表示するには、XlBuiltInDialog列挙型のxlDialogSortを使用します。

ThisAddIn.ShowDialog(Microsoft.Office.Interop.Excel.XlBuiltInDialog.xlDialogSort);

フォントの設定ダイアログ

フォントの設定ダイアログを表示するには、XlBuiltInDialog列挙型のxlDialogFontを使用します。

ThisAddIn.ShowDialog(Microsoft.Office.Interop.Excel.XlBuiltInDialog.xlDialogFont);

印刷プレビュー

印刷プレビューを表示するには、XlBuiltInDialog列挙型のxlDialogPrintPreviewを使用します。

ThisAddIn.ShowDialog(Microsoft.Office.Interop.Excel.XlBuiltInDialog.xlDialogPrintPreview);

ブックの共有ダイアログ

ブックの共有ダイアログを表示するには、XlBuiltInDialog列挙型のxlDialogFileSharingを使用します。

ThisAddIn.ShowDialog(Microsoft.Office.Interop.Excel.XlBuiltInDialog.xlDialogFileSharing);

共有ブックの保護ダイアログ

共有ブックの保護ダイアログを表示するには、XlBuiltInDialog列挙型のxlDialogProtectSharingを使用します。

ThisAddIn.ShowDialog(Microsoft.Office.Interop.Excel.XlBuiltInDialog.xlDialogProtectSharing);

ソースコード全文

ソースコード全文は以下のgithubリポジトリに格納しています。

コンパイルすれば動作しますので、Visual Studioをお持ちの方は遊んでみてください。

GitHub - harus0313/cliesx
Contribute to harus0313/cliesx development by creating an account on GitHub.


【VSTO】c#でExcelアドインやマクロ付きドキュメントを開発するためのサンプルコードをまとめました!ぜひ活用ください!

  1. VSTO c# Excelブックを読み取り専用/書き込みモードにする方法

  2. VSTO C# Excelアドインでシートを追加する方法

  3. VSTO C# Excelアドインでアクティブシートを削除する方法

  4. VSTO C# Excelアドインでアクティブシートをコピーする方法

  5. VSTO C# Excelアドインでセルの左詰め・右詰め・中央寄せ・選択範囲で中央にする方法

  6. VSTO C# Excelアドインでセルの上詰め・下詰め・上下中央にする方法

  7. VSTO C# Excelアドインでクリップボードパネルを表示・非表示する方法

  8. VSTO C# Excelアドインで数式バーを表示・非表示する方法

  9. VSTO C# Excelアドインでフルスクリーンモードをオン・オフする方法

  10. VSTO C# Excelアドインで目盛り線の表示・非表示を切り替える方法

  11. VSTO C# Excelアドインでカラーパレットを使って文字色を変える方法

  12. VSTO C# Excelアドインでアクティブブックのファイルパス・フォルダパスを取得する方法

  13. VSTO C# Excelアドインでアクティブワークシートのシート名を取得する方法

  14. VSTO C# Excelアドインで行や列をグループ化・グループ化解除する方法

  15. VSTO C# Excelアドインで選択したセルをマージ(結合)したり元に戻す方法

  16. VSTO C# Excelアドインで各種ダイアログを表示する方法

コメント

タイトルとURLをコピーしました