Share via


關於程式設計Visio 檢視器

Visio 檢視器是 ActiveX 控制項,可讓您開啟、檢視或列印 Visio 繪圖,即使您沒有 Visio 也一樣。 不過,您無法在Visio 檢視器中編輯、儲存或建立新的 Visio 繪圖。 為此,您需要 Visio。

Visio 檢視器提供 (API) 的應用程式開發介面,可讓解決方案開發人員執行許多工作,其中包括下列各項:

  • 載入和卸載 Visio 繪圖。
  • 選取圖形。
  • 遵循超連結。
  • 向使用者顯示各種Visio 檢視器對話方塊。
  • 自訂Visio 檢視器視窗的大小和位置。
  • 藉由變更前景和背景色彩,以及顯示或隱藏格線和捲軸來自訂使用者介面。
  • 控制繪圖中圖層的色彩和透明度。
  • 控制檢閱者標記的色彩和可見度 (批註) 。
  • 新增或移除按鈕來自訂工具列。
  • 回應Visio 檢視器介面中的使用者動作。

Visual Basic 6.0 中的程式設計Visio 檢視器

使用 Visual Basic 6.0 具現化各種容器中的Visio 檢視器控制項 (例如 Windows 表單) 。 您必須先取得Visio 檢視器 API 的參考,才能這麼做。

使用下列步驟來取得 Visual Basic 6.0 專案中Visio 檢視器 API 的參考。

取得 Visual Basic 6.0 專案中Visio 檢視器 API 的參考

  1. 開啟 Visual Basic 6.0。 在 Windows Vista 或 Windows 7 中,以滑鼠右鍵按一下程式快捷方式,然後選擇 [ 以系統管理員身分執行]

  2. 在 Visual Basic 6.0 中,開啟新的 標準 EXE 專案。

  3. 在專案中,以滑鼠右鍵按一下 [工具箱],選擇 [元件],選取 [Microsoft Visio 檢視器 14.0 類型程式庫],然後選擇 [確定]

  4. 編譯器代碼之前,請在 [ 專案 ] 功能表上選擇 [您的專案名稱] [屬性]

  5. 在 [ 製作] 索 引標籤上,確認未選取 [ 移除未使用之 ActiveX 控制項的相關資訊 ]。

下列程式碼示範如何在 Visual Basic 6.0 中以表單具現化Visio 檢視器。 它會建立Visio 檢視器控制項、顯示 [屬性和設定] 對話方塊、設定表單中控制項的位置、大小和可見度,並將名為 「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 網頁上的程式設計Visio 檢視器

使用 Visio 檢視器 控制項,將 Visio 繪圖內嵌至網頁,方法是在頁面的原始程式碼中手動插入標記和參數。 若要撰寫原始程式碼,您可以使用文字編輯器,例如記事本,或建立網頁的任何其他應用程式,例如 Microsoft Expression Web 3 或 SharePoint Designer。

您可以使用 PARAM 標記來設定Visio 檢視器的任何屬性,如下列範例程式碼所示,其會設定 Visio 檢視器 的Src屬性。

請記住,因為Visio 檢視器是 ActiveX 控制項,所以其行為會受到 Internet Explorer 安全性設定的影響。

下列程式碼示範如何在網頁上的Visio 檢視器控制項中開啟 Visio 繪圖檔案。 它會設定頁面上Visio 檢視器控制項的高度和寬度,並將來源文件載入控制項。

將程式碼複製到文字編輯器中的檔案,並將產生的檔儲存為 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>

在 Managed 程式碼中Visio 檢視器程式設計

例如,使用 Managed 程式碼具現化各種容器中的Visio 檢視器控制項,例如 Windows 表單。 您必須先取得Visio 檢視器 API 的參考,才能這麼做。

使用下列步驟來取得 Visual Studio 2008 專案中Visio 檢視器 API 的參考。

取得 Visual Studio 專案中Visio 檢視器 API 的參考

  1. 在 [ 開始] 功能表上,指向 [所有程式],選擇 [ 配件],然後選擇 [ 命令提示字元 ] 以開啟 [命令提示字元] 視窗。

  2. 在 [命令提示字元] 視窗中,流覽至 [程式檔] 資料夾的 [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 檢視器 DLL 檔案的資料夾。

  6. 在該資料夾中,輸入 AxImp.exe vviewer.dll 以產生數個檔案,包括AxVisioViewer.dll。

  7. 在 Visual Studio 2008 中,開啟新的 Windows Forms Application 專案。

  8. 在您的專案中,于 [ 專案 ] 功能表上,選擇 [ 新增參考],然後選擇 [ 流覽]

  9. 流覽至您建立AxVisioViewer.dll檔案的資料夾,在清單中選取該檔案,然後選擇 [ 確定]

在 Visual Studio 專案中的 Form1.cs 檔案中,新增下列程式碼來具現化Visio 檢視器控制項、設定其某些屬性,以及將測試檔案載入控制項中。 此程式碼假設您的 Documents 資料夾中有一個名為 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 支援與意見反應