C 獲取Visio模型資訊的簡單方法示例

2022-09-26 03:54:10 字數 1350 閱讀 9881

前言

office visio 是繪製各種型別圖表的乙個很好的工具,可以繪製業務流程的流程圖、網路圖、工作流圖、資料庫模型圖、軟體圖,以及家居設計圖等等,可用於視覺化和簡化業務流程、跟蹤專案和資源、繪製組織結構圖、對映網路、繪製建築地圖以及優化系統。

在最近的乙個專案,要求匯出visio圖紙,因為是建築類的,所以,需要設定牆壁,門,房間等資訊的引數。

拿牆壁為例,選中牆壁模型,右鍵屬性,會彈出以下對話方塊。

需要設定牆長、牆壁厚度等一些列資訊。

現在c#操作visio裡例子比較少,所以,花了好久,都沒有看到有用的帖子,直到今天下午,在bing裡發現了乙個帖子,頓時讓我受益匪淺。原貼位址:http://mike程式設計客棧borozdin.com/post/reading-and-writing-visio-sh程式設計客棧ape-information-with-c/

操作方法如下:

一、開啟visio的開發者模式

檔案--選項--高階--以開發人員模式執行

二、檢視模型的屬性

選中模型--右鍵顯示shapesheet,在visio的下面就會出現模型的所有屬性了。

下滑,可以在shape data裡看到此模型的屬性資訊

三、c#**操作

1、開啟牆模型模板

wall_m.vss是牆的模型模板,這個推薦大家用everything搜尋一下,就能拿到模板路徑了,自己需要哪個去裡面找。

2、建立模型並設定引數

建立模型很方便,就是用document.masters屬性加模型名稱,模型名稱在哪呢,其實很好找,就是visio的模型名稱,用漢字就可以。

設定模型的引數有兩種方式,中用粉色框,框起來的部分。

網上大部分的資料裡都是用的第乙個方法,這個方法不太方便記憶,而第二個方法就很方便了,也就是本文介紹的簡單的方式。

模型名.cells["屬性名"].formula

屬性名,就是shapesheet裡看到的那些屬性,都是string型別,可以直接設定。設定成功以後,就是以下的圖了。

3、遇到的問題

並不是所有的屬性,程式設計客棧設定了就一定好使,問題,我也不知道出現在哪,其中乙個就是填充屬性。

f程式設計客棧illfo程式設計客棧regnd是填充屬性,設定**為

m_sp4.cells["fillforegnd"].formula = "rgb(0,0,0)";

通過引數檢視,設定成功

並且右鍵模型,格式--填充,如下圖

其實已經設定成功了,但是模型的填充顏色不變,這個就很尷尬了,但是如果用基礎模型,就是方形、圓形那些基礎模型,就可以顯示填充為黑色,所以不知道問題在**。

原始碼**:點選這裡

總結本文標題: c#獲取visio模型資訊的簡單方法示例

本文位址:

c 獲取硬體資訊

using system using system.runtime.interopservices using system.management namespace hardware 取cpu編號 public string getcpuid return strcpuid catch end m...

c 獲取硬體資訊

using system using system.runtime.interopservices using system.management namespace hardware 取cpu編號 public string getcpuid return strcpuid catch end m...

C 獲取CPU資訊

include windows.h include iostream include string using namespace std 用來儲存資訊 dword deax dword debx dword decx dword dedx void execpuid dword veax 初始化c...