新聞中心
向您推薦《體驗(yàn)Visual Studio 2008展望2010》專題。希望這個專題能讓您更好的使用Visual Studio 2008。

Visio是微軟旗下的一款圖表制作與流程管理工具,用來幫助IT和商務(wù)人員來可視化的分析和交流復(fù)雜信息。而Visual Studio則是一個應(yīng)用程序的可視化開發(fā)平臺。這兩個互不搭界的內(nèi)容,他們會有交叉點(diǎn)嗎?
微軟將這變?yōu)榱丝赡?。簡單的說,在Visual Studio中提供了一些項(xiàng)目模板。這些模板可以幫助用戶來創(chuàng)建用于Visio的應(yīng)用程序外接程序。而這些外接程序又可以幫助Visio直線自動化、擴(kuò)展Visio的功能等等。通過應(yīng)用程序級外接程序體系結(jié)構(gòu)將兩個產(chǎn)品緊緊的聯(lián)系在一起。筆者日常在項(xiàng)目管理中,經(jīng)常需要使用Visual Studio工具來開發(fā)一些Visio的個性化功能。在這里就將筆者的經(jīng)驗(yàn)跟大家分享一下,供各位讀者參考。
一、Visual Studio可以給Visio帶來哪些改善。
簡單的說,通過Visual Studio來讓Visio實(shí)現(xiàn)自動化,主要是通過API來完成的。這是一個原則性的內(nèi)容,筆者先要強(qiáng)調(diào)一下。雖然也可以通過其他方式來實(shí)現(xiàn),但是并不建議。因?yàn)檫@會增加工程的復(fù)雜性。一般來說,大部分任務(wù)都可以通過API來編寫代碼完成。筆者常用的功能有以下幾個。
一是根據(jù)業(yè)務(wù)邏輯和用戶的輸入管理Visio中的形狀。如筆者使用Visio來管理用戶的流程制作。流程具有一定的步驟。當(dāng)用戶在輸入信息的時(shí)候,如果每有按步驟來。如跳過了一個步驟,那么當(dāng)用戶輸入信息時(shí)就可以在界面上探出一個問號的形狀。這可以提醒用戶,必須按流程來輸入數(shù)據(jù)。
二是可以用來控制關(guān)系圖的可視化效果。在跟其他用戶通過Visio來進(jìn)行信息交流分析的時(shí)候,往往需要根據(jù)實(shí)際情況來控制關(guān)系圖的可視化效果。如某個對象的平移或者縮放。一個比較簡單的例子,就是將鼠標(biāo)移動到某個對象上,或則單擊,這個對象會自動擴(kuò)大。這可以讓其他用戶更加清晰的看到相關(guān)的內(nèi)容。
三是將外部的數(shù)據(jù)導(dǎo)入到Visio中。如果需要將Word等文檔的內(nèi)容導(dǎo)入到Visio中,則可以使用其自帶的導(dǎo)入工具。但是如果需要將其他的文檔,如ACD文件,則需要開發(fā)其他的接口。如果有這個需求的話,使用Visual Studio來完成,是一件比較輕松的事情。
以上三點(diǎn)可能是在實(shí)際工作中經(jīng)常會遇到的需求。當(dāng)然這兩個產(chǎn)品之間的合作不限于這些方面,可能還有更多。由于工作經(jīng)驗(yàn)的限制,筆者只強(qiáng)調(diào)這幾點(diǎn)。如果大家還有比較典型的應(yīng)用,希望各位可以分享出來,大家共同進(jìn)步。
二、Visio與Visual Studio之間交互的渠道。
本來要擴(kuò)展某個應(yīng)用程序的功能是一件比較復(fù)雜的工作,因?yàn)槠湫枰紤]到方方面面的內(nèi)容。而現(xiàn)在借助Visual Studio來實(shí)現(xiàn)Visio的自動化,則是一件相對簡單的工作。這主要是因?yàn)樗麄兲峁┝艘恍┛梢韵嗷ソ换サ膶ο?。這些對象排列在一個與用戶界面密切相關(guān)的層次結(jié)構(gòu)中。這些對象就好像是一道道門。通道已經(jīng)有了,現(xiàn)在主要的問題就是如何配一個合適的鑰匙。
根據(jù)筆者的經(jīng)驗(yàn),在通過VisualStudio與Visio打交道的時(shí)候,主要需要用到三個對象。分別是Application對象、Document對象、Page對象。如果用戶有這個需求,那么首先需要做的就是了解這個三個對象,特別是需要知道,這三個對象可以分別實(shí)現(xiàn)什么樣的功能。只有如此,當(dāng)用戶提出需求的時(shí)候,Visual Studio管理員才能夠?qū)ΠY下藥,選擇合適的對象。
其中Application對象它表示Visio應(yīng)用程序,它的所有成員通常作為一個整體應(yīng)用于Viso,是另外兩個對象的父級。而Document對象與Page對象則是具體的對象。前者是Visio編程的中樞,它主要負(fù)責(zé)一個繪圖、模具和模板文件。而后者主要表示前景或者背景的繪圖區(qū)域。
筆者比較愿意將Application對象比喻成未來的丈母娘,后其余兩個對象就是他的女兒。而用戶就好像是白馬王子。當(dāng)白馬王子要跟他的女兒結(jié)婚的話,必須要通過Application對象,或者經(jīng)過其同意。只要他同意之后,以后這小兩口的日子怎么過(具體怎么操作與實(shí)現(xiàn)),就是他們之間的事情了。了解這三個對象之間的關(guān)系,對于我們后續(xù)的開發(fā)工作會有很大的幫助。
三、通過VS向Visio文檔中添加形狀。
了解上面三個對象的關(guān)系之后,下面筆者就好總結(jié)一下,通過VS向Visio發(fā)出各種問候所需要注意的內(nèi)容。如通過VS向Visil文檔添加某個具體形狀,如判斷用的零星是怎么實(shí)現(xiàn)的,以及相關(guān)的注意事項(xiàng)。
如果向VS向Visio中添加形狀,簡單的說可以分為兩個步驟。
第一步:從Documents對象中查詢主控形狀。
這里需要注意一點(diǎn),如果要通過VS向Visio文檔中添加某個形狀,有一個前提就是這個形狀必須已經(jīng)存在于Documents對象中。也就是說,只能夠?qū)崿F(xiàn)對已經(jīng)存在對象的調(diào)用。如果用戶需求添加一些自定義的形狀,那么就需要一個額外的步驟。如可以在Visio中先通過添加功能將其加入到Documents對象中。然后再通過VS來調(diào)用。Documents對象在上面的內(nèi)容中筆者已經(jīng)強(qiáng)調(diào)過,它主要負(fù)責(zé)一個繪圖、模具和模板文件。也即是說,所有的形狀信息都是保存在這個對象中的。當(dāng)VS向Visio文檔中添加某個形狀時(shí),首先要做的就是在這個對象中進(jìn)行查找,看自己需要添加的形狀是否在這個文件中。這里主要用到Documents.Masters集合。如果形狀比較多的話,為了提高查詢的速度,用戶可以通過索引或者主控形狀的名字來檢索主控形狀。下面這段代碼就是用來查詢形狀是否存在。
Visiostencil.masters.get_itemu(@”形狀的名字”)。
第二步:將需要的形狀添加到文檔中。
找到某個形狀之后,就需要將其加入到某個文件中。在加入這個操作的時(shí)候,我們需要至少指定兩個內(nèi)容。一是將哪個形狀加入到這個文件中,二是將其放到哪個位置上去。有時(shí)候可能還需要指定一個內(nèi)容,就是這個形狀要顯示的文本內(nèi)容。雖然這個并不是必須的。如果有需要的話,最好一起來完成。具體來說,可以通過以下兩段代碼來完成。
Visiopage.drop(剛才查詢到的形狀,坐標(biāo)X,坐標(biāo)Y)
VisioStarshape.text=@”要顯示的內(nèi)容”
注意以上三個語句往往需要連著用。第一個語句主要用來查詢所需要的形狀是否存在。第二個語句就是將剛查查詢到的形狀放置到文檔中(其使用的參數(shù)就是第一個語句種查詢出來的結(jié)果)。第三個語句就是往這個形狀中添加一些描述性的文本。一般來說,前兩個語句是必須的,而第三個語句是可選的。一般為了提高可讀性,往往將這個三個語句放到一起,如下面所示:
Visiostencil.masters.get_itemu(@”形狀的名字”);
Visiopage.drop(剛才查詢到的形狀,坐標(biāo)X,坐標(biāo)Y);
VisioStarshape.text=@”要顯示的內(nèi)容”;
第一條語句主要用到了Documents對象,第二條語句用到了Page對象。這兩個對象份工合作,各自完成相關(guān)的動作。簡單的說,Documents對象是靜態(tài)的內(nèi)容,或者只是一個文件,只要用來保存可用的形狀。而Page對象就是一些動作的集合,如添加某個形狀、刪除某個形狀、放大或者縮小某個形狀等等。對于形狀的具體操作,都需要通過Page對象來完成。為此對于Page對象中的各種方法,如Drop,管理人員必須要有十分詳細(xì)且精確的了解。否則的話,下面很多工作就都無法開展了。
通過上面這個簡單的案例,可以看出在Visual Studio平臺與Visio三個對象的幫助下,跟Visio打交道并沒有我們想象中的那么復(fù)雜。通過一段時(shí)間的練習(xí)與操作,相信各位讀者都可以輕松的掌握如何讓Visio實(shí)現(xiàn)自動化的技巧。這篇文章中提到的一些技巧與注意事項(xiàng),能夠?yàn)榇蠹疫@方面的改進(jìn)帶來一定的幫助。
【編輯推薦】
- Windows 7下Visual Studio 2008安裝詳解
- Visual Studio 2008中三大問題的解決方法
- 不能不知的VS2008技巧與便捷
- 對VS2008簡介與日常使用
- 詳細(xì)分析VS2008專業(yè)版相關(guān)功能
網(wǎng)站題目:Visual Studio 2008上實(shí)現(xiàn)Visio自動化
文章地址:http://m.fisionsoft.com.cn/article/ccscdsg.html


咨詢
建站咨詢
