プログラミングVisio Viewerについて

Visio Viewerは、Visio がない場合でも Visio 図面を開いたり、表示したり、印刷したりできる ActiveX コントロールです。 ただし、Visio Viewerで新しい Visio 図面を編集、保存、または作成することはできません。 このため、Visio が必要です。

Visio Viewerには、ソリューション開発者が次のような多数のタスクを実行できるアプリケーション プログラミング インターフェイス (API) が用意されています。

  • Visio 図面の読み込みとアンロード。
  • 図形を選択します。
  • ハイパーリンクに従います。
  • さまざまなVisio Viewerダイアログ ボックスをユーザーに表示します。
  • Visio Viewer ウィンドウのサイズと位置をカスタマイズします。
  • 前景色と背景色を変更し、グリッドとスクロール バーを表示または非表示にして、ユーザー インターフェイスをカスタマイズします。
  • 図面内のレイヤーの色と透明度を制御します。
  • レビュー担当者のマークアップ (コメント) の色と可視性を制御します。
  • ボタンを追加または削除して、ツール バーをカスタマイズします。
  • Visio Viewer インターフェイスのユーザー アクションに応答します。

Visual Basic 6.0 でのプログラミング Visio Viewer

Visual Basic 6.0 を使用して、さまざまなコンテナー (Windows フォームなど) でVisio Viewer コントロールをインスタンス化します。 これを行う前に、Visio Viewer API への参照を取得する必要があります。

次の手順を使用して、Visual Basic 6.0 プロジェクトのVisio Viewer API への参照を取得します。

Visual Basic 6.0 プロジェクトでVisio Viewer API への参照を取得するには

  1. Visual Basic 6.0 を開きます。 Windows Vista または Windows 7 で、プログラムのショートカットを右クリックし、[管理者として実行] を選択します

  2. Visual Basic 6.0 で、新しい Standard EXE プロジェクトを開きます。

  3. プロジェクトで[ツールボックス]を右クリックし、[コンポーネント]、[Microsoft Visio Viewer 14.0 タイプ ライブラリ]、[OK] の順に選択します

  4. コードをコンパイルする前に、[ プロジェクト ] メニューの [プロジェクト名] [プロパティ] を選択します。

  5. [ 作成 ] タブで、[ 未使用の ActiveX コントロールに関する情報を削除する ] が選択されていないことを確認します。

次のコードは、Visual Basic 6.0 のフォームでVisio Viewerをインスタンス化する方法を示しています。 Visio Viewer コントロールを作成し、[プロパティと設定] ダイアログ ボックスを表示し、フォーム内のコントロールの場所、サイズ、可視性を設定し、"MyFile.vsd" という名前のドキュメントをコントロールに読み込みます。

作成したプロジェクトに次のコードを追加します。

Dim Viewer1 As VisioViewerCtl.Viewer

Private Sub Form_Load()
    
    Set Viewer1 = Form1.Controls.Add("VisioViewer.Viewer", "Viewer1", Form1)

    Viewer1.Visible = True
    Viewer1.Left = 200
    Viewer1.SRC = "C:\Users\<variable>username</variable>\Documents\MyFile.vsd"

    Viewer1.Height = 5000
    Viewer1.Width = 5000
    Viewer1.DisplayPropertyDialog

End Sub

HTML Web ページでのVisio Viewerのプログラミング

Visio Viewer コントロールを使用して、ページのソース コードにタグとパラメーターを手動で挿入することで、Visio 図面を Web ページに埋め込みます。 ソース コードを記述するには、メモ帳などのテキスト エディター、または Microsoft Expression Web 3 や SharePoint Designer などの Web ページを作成するその他のアプリケーションを使用できます。

次のサンプル コードに示すように、PARAM タグを使用して、Visio Viewerのプロパティのいずれかを設定できます。これは、Visio Viewerの Src プロパティを設定します。

Visio Viewerは ActiveX コントロールであるため、その動作は Internet Explorer のセキュリティ設定の影響を受けます。

次のコードは、Web ページ上のVisio Viewer コントロールで Visio 図面ファイルを開く方法を示しています。 ページ上のVisio Viewer コントロールの高さと幅を設定し、ソース ドキュメントをコントロールに読み込みます。

コードをテキスト エディターのファイルにコピーし、結果のドキュメントを HTM ファイルとして保存します。 Src パラメーターによって参照される Visio ドキュメント "SalesData.vsd" は、HTM ファイルと同じフォルダーに存在する必要があります。

<html>
<OBJECT id="DrawingControl1"
    height=400 
    width=600
    classid="clsid:279D6C9A-652E-4833-BEFC-312CA8887857" VIEWASTEXT>
<PARAM NAME="Src" VALUE="SalesData.vsd">
</OBJECT>
</html>

マネージド コードでのVisio Viewerのプログラミング

マネージド コードを使用して、Windows フォームなどのさまざまなコンテナーでVisio Viewer コントロールをインスタンス化します。 これを行う前に、Visio Viewer API への参照を取得する必要があります。

次の手順を使用して、Visual Studio 2008 プロジェクトのVisio Viewer API への参照を取得します。

Visual Studio プロジェクトでVisio Viewer API への参照を取得するには

  1. [ スタート ] メニューの [ すべてのプログラム] をポイントし、[ アクセサリ] を選択し、[ コマンド プロンプト ] を選択してコマンド プロンプト ウィンドウを開きます。

  2. コマンド プロンプト ウィンドウで、Program Files フォルダーの Microsoft Office/Office 14 サブフォルダーに移動します。

  3. ファイル VViewer.dllを、新しいファイル (ユーザー フォルダーなど) を書き込むアクセス許可を持つフォルダーの場所にコピーします。

  4. コマンド プロンプト ウィンドウを閉じ、Visual Studio 2008 コマンド プロンプト ウィンドウを開きます。 ([スタート] メニューの [すべてのプログラム] をポイントし、[Microsoft Visual Studio 2008] を選択し、[Visual Studio Tools] を選択し、[Visual Studio 2008 コマンド プロンプト] を選択します)。

  5. Visual Studio 2008 コマンド プロンプト ウィンドウで、Visio Viewer DLL ファイルをコピーしたフォルダーに移動します。

  6. そのフォルダーに「」と入力 AxImp.exe vviewer.dll して、AxVisioViewer.dllを含む複数のファイルを生成します。

  7. Visual Studio 2008 で、新しい Windows フォーム アプリケーション プロジェクトを開きます。

  8. プロジェクトの [ プロジェクト ] メニューの [参照の 追加] を選択し、[ 参照] を選択します。

  9. AxVisioViewer.dll ファイルを作成したフォルダーを参照し、一覧でそのファイルを選択し、[ OK] を選択します

Visual Studio プロジェクトの Form1.cs ファイルに次のコードを追加して、Visio Viewer コントロールをインスタンス化し、そのプロパティの一部を設定し、テスト ファイルをコントロールに読み込みます。 このコードでは、表示されるパスに Test.vsd という名前の Visio ファイルがあることを前提としています。 コンピューターのパスとファイル名を適宜変更します。

<code language="CS" type="developer">public partial class Form1 : Form
    {
        private AxVisioViewer.AxViewer viewer;

        /// &lt;summary&gt;
        /// The Visio Viewer OM
        /// &lt;/summary&gt;
        public AxVisioViewer.AxViewer Viewer
        {
            get
            {
                return this.viewer;
            }
        }

        public Form1()
        {
            this.InitializeComponent();
            this.Resize += new EventHandler(this.UpdateSize);
            this.viewer = new AxVisioViewer.AxViewer();
            this.Controls.Add(this.viewer);
            this.viewer.CreateControl();

            this.viewer.Location = new Point(0, 0);
            this.UpdateSize(null, null);
         
        }

        public void UpdateSize(object obj, EventArgs ea)
        {
            this.viewer.ClientSize = new Size(this.ClientSize.Width - 150, this.ClientSize.Height - 150);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.viewer.Load("C:\\users\\username\\documents\\viewer\\test.vsd");

        }        

    }
</code>

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。