2016年06月15日

Visio アドインの自作フォームを Visio ウィンドウをオーナーとして表示する

アドインでフォームを表示する時に Visio のウィンドウをオーナーとして表示してみましょう。
オーナーを指定してフォームを表示すると、常にオーナーより手前に表示されるようになります。

※Visual Studio によるアドインの作り方は以下を参照してください。
http://visio.seesaa.net/article/437290221.html


  1. Visio ウィンドウのハンドルを取得することのできるクラスを作成します。

    internal class Win32Window : System.Windows.Forms.IWin32Window
    {
    public Win32Window(int windowHandle)
    {
    this.Handle = new IntPtr(windowHandle);
    }

    public IntPtr Handle { getprivate set; }
    }



  2. リボンにフォーム表示ボタンを用意します。
    20160615_01.png


  3. ボタンのイベントハンドラーにフォーム表示のコードを記述します。

    private void showButton_Click(object sender, RibbonControlEventArgs e)
    {
    // Visio ウィンドウ
    int windowHandle = Globals.ThisAddIn.Application.WindowHandle32;
    var window = new Win32Window(windowHandle);

    // Visio ウィンドウをオーナーとしてフォームを表示する。
    var form = new MyForm();
    form.Show(window);
    }

    private void showDialogButton_Click(object sender, RibbonControlEventArgs e)
    {
    // Visio ウィンドウ
    int windowHandle = Globals.ThisAddIn.Application.WindowHandle32;
    var window = new Win32Window(windowHandle);

    // Visio ウィンドウをオーナーとしてフォームを表示する。
    var form = new MyForm();
    form.ShowDialog(window);
    }




    1. それでは実行してみましょう。
      20160615_02.png

      [Show] ボタンをクリックするとモーダル、[ShowDialog]ボタンをクリックするとモードレスでフォームが表示されます。
      表示されたフォームは常に Visio のウィンドウの手前に表示されるのでアドインらしくなりましたね。

      ソースコードは以下で公開しています。
      https://github.com/visGeek/VisioAddIn_ShowFormSample
      ラベル:Visual Studio VSTO
posted by visGeek at 04:25| Comment(0) | TrackBack(0) | アドイン開発 | このブログの読者になる | 更新情報をチェックする

2016年05月06日

Visio で動くラインアート

無償の開発ツールを使って Microsoft Office 製品のアドイン開発することができます。
もちろん Visio のアドインも開発できます。
http://visio.seesaa.net/article/437290221.html

Visio の図面の上で動くラインアートを作ってみました。


こちらは Excel のセル内で動くラインアートです。


ソースコードはこちらにあります。
https://github.com/visGeek/OfficeLineArt

ラベル:VSTO Visual Studio
posted by visGeek at 03:34| Comment(0) | TrackBack(0) | アドイン開発 | このブログの読者になる | 更新情報をチェックする

2016年04月28日

Visual Studio で Visio アドインを作る

Visual Studio で Visio アドインを開発してみましょう。
同じ方法で Excel などの他の Office 製品のアドインも開発できます。

■Visual Studio をインストールします。
個人の場合は Visual Studio Community を利用できます。
ライセンス条項をよく確認してください。

Visual Studio Community
https://www.visualstudio.com/ja-jp/products/visual-studio-community-vs.aspx

MICROSOFT VISUAL STUDIO COMMUNITY 2015
マイクロソフト ソフトウェア ライセンス条項
https://www.visualstudio.com/support/legal/mt171547

■続いて Office Developer Tools (VSTO) をインストールします。
Visual Studio の Enterprise エディションではこの作業は必要ありません。
https://www.visualstudio.com/ja-jp/features/office-tools-vs.aspx

■Visual Studio を起動して、新しいプロジェクトを作成します。
新しいプロジェクト作成で Visio のアドインを選択します。
20160428_01.gif

■リボンを作成します。
ソリューションエクスプローラーのプロジェクトアイコンを右クリック
→ [追加(D)] → [新しい項目(W)]
20160428_02.gif

リボンを追加します。
20160428_07.gif

■リボンにボタンを追加します。
リボンのビジュアルデザイナーを表示します。
20160428_03.gif

ツールボックスから[Button]をドラッグ&ドロップドロップします。
ボタンが作成されたらこれをダブルクリックします。
これでイベントハンドラーが作成されます。
20160428_04.gif

■イベントハンドラーにコードを記述します。
イベントハンドラーに、図面の名称を表示するコードを記述します。
続いて Visual Studio の[実行]ボタンをクリックします。これで Visio が起動されます。
20160428_05.gif

■リボンからプログラムを実行します。
新規の図面を開いたあとに作成したリボンを表示してボタンをクリックします。
20160428_06.gif
ラベル:Visual Studio VBA VSTO
posted by visGeek at 05:58| Comment(0) | TrackBack(0) | アドイン開発 | このブログの読者になる | 更新情報をチェックする