根據(jù)個人的經(jīng)歷談?wù)剛€人感想
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括東方網(wǎng)站建設(shè)、東方網(wǎng)站制作、東方網(wǎng)頁制作以及東方網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,東方網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到東方省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
我一開始學(xué)的是VB,但學(xué)會后,也就是樓主你的樣子,后來學(xué)C,覺得C太垃圾了,這可能和VB的簡單形成對比,C語言學(xué)會后就再也沒用,后來直接由VB升級到VB.NET,的確,如同樓主所說,.NET是比較簡單,但是有個后遺癥,是現(xiàn)在我都煩的,就是編譯的軟件必須要在有.NET的電腦上運(yùn)行,XP是不帶.NET的,而且,版本還的相對,如果用.NET4.0編的,在4.0以下版本電腦上運(yùn)行很可能就出錯,并且,如果你要打包的話也可以,就是把軟件打包成安裝包,然后附帶.NET環(huán)境,但缺點(diǎn)就出來了,.NET3.5完整安裝包235M,因?yàn)樗艘韵滤邪姹?,還好.NET4.0只有50M左右,因?yàn)樗话ㄒ韵掳姹?,但總之?NET就是簡單了編程,但復(fù)雜了使用,軟件得打包,不像VB,編好后直接打開EXE就可以了。所以就麻煩了,舉些例子,以前用VBA編OFFICE的宏,打開OFFICE就可以編,編好后就存為XLSM就可以了,現(xiàn)在用.NET就成了VSTO了,編好后,不和文檔在一起,是分開的DLL,如果要運(yùn)行,條件為,1,.NET環(huán)境,2,OFFICE,3,VSTO相比以前只需要OFFICE復(fù)雜了N倍,而且編輯時也需要VS(動不動就幾G)才行,相比以前只要有OFFICE就可以區(qū)別也很大,同樣,CAD的嵌入開發(fā)也是一樣的。
所以總體來說,越底層的語言越底層的API越好用,越通用,越高級的越不通用,所以現(xiàn)在我開發(fā)軟件我都煩了,要是一個小軟件幾百K~M,再附帶個.NET就好幾百兆,用的時候還得安裝才能用,又不是什么大軟件有必要這么做么,還有.NET不是萬能的,有些地方也得用API,而且.NET其實(shí)也挺復(fù)雜,難的地方不比API簡單,其實(shí)就感覺是封裝好了的API而已。
至于數(shù)據(jù)庫,的確.NET連接比較簡單
至于學(xué)C?那就不用了,因?yàn)?NET的支持 C#,C++,VB,J#,只要會其中一種就可以了(而且你只要會其中一門,是能看懂另一門的,比如我雖然編輯C#可能要出錯,但C#代碼我是幾乎全部能看懂的,網(wǎng)上查資料也能看懂其他語言的),大部分是學(xué)C的升級用C#.NET,VB的升級成VB.NET,你沒必要把它當(dāng)成另一中語言來學(xué),語法是基本一樣的。只是從一開是學(xué)C的比較多,就成了C#的比較多而已了,至于語言,我不想做語言攻擊,其實(shí)都是有用的,就是看自己習(xí)慣不,比如我就不習(xí)慣C。
我也不想說VB好還是VB.NET好,其實(shí)是看你用途,我只是至今沒發(fā)現(xiàn)什么網(wǎng)上的軟件是.NET編輯的,一些軟件比如CAD,OFFICE安裝時安裝了.NET,其實(shí)都不是它們是基于.NET編輯的,而是為了支持.NET的嵌入式開發(fā),你所看到的軟件,比如QQ,迅雷,你看他們帶.NET了嗎?要是.NET好,他們干嘛不用,答案是因?yàn)椴环奖?,因?yàn)閄P系統(tǒng)一般是沒有.NET的,連WIN7內(nèi)嵌的.NET都不支持最新的.NET,也就是你用什么版本編的就得安裝相應(yīng)版本,那也要求對方電腦也得跟著升級,而API是不用升級著走的~
所以,你要編的軟件在其他電腦上用,VB+API吧,如果你要個人電腦上用,VB.NET吧,如果你編小軟件vb+api吧,如果你要大型軟件就VB.NET吧,所以,你自己選吧。
希望給你的意見能對你有好處,現(xiàn)在深夜11點(diǎn)了,我也改睡了,拜拜!~
祝你學(xué)習(xí)愉快!
對了,還有點(diǎn),比如CAD2007不支持.NET3.5以上的編程,而且.NET編好的EXE或者DLL是可以用專門的軟件打開看你源代碼的,也就是反編譯,這對于加密(可以看你的加密方法)就很麻煩了(據(jù)說采用什么辦法可以解決)。
vb.net編程工具是:Microsoft Visual Studio 2008
1、Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代開發(fā)工具,代號“Orcas”,是對Visual Studio 2005一次及時、全面的升級。
2、VS2008引入了250多個新特性,整合了對象、關(guān)系型數(shù)據(jù)、XML訪問方式,語言更簡潔。
3、使用Visual Studio 2008可以高效開發(fā)Windows應(yīng)用。
4、設(shè)計(jì)器中可以實(shí)時反映變更,XAML中智能感知功能可以提高開發(fā)效率。
5、Visual Studio 2008支持項(xiàng)目模板、調(diào)試器和部署程序。
6、Visual Studio 2008可以高效開發(fā)Web應(yīng)用,集成了AJAX 1.0,包含AJAX項(xiàng)目模板,它還可以高效開發(fā)Office應(yīng)用和Mobile應(yīng)用。
首先,我要說一下什么是插件(Add-in)
插件一般是對現(xiàn)有程序的擴(kuò)展,微軟的Office系統(tǒng)公開了一套接口,可以很方便地讓開發(fā)人員基于這些接口去實(shí)現(xiàn)對Office應(yīng)用程序的增強(qiáng)。這個接口,準(zhǔn)確地說,就是Extensibility.IDTExtensibility2.
當(dāng)然,除了Office,有很多應(yīng)用程序都支持類似的擴(kuò)展機(jī)制,例如IE,以及Visual Studio本身,都支持一定程序的擴(kuò)展。
其次,我要說一下以前是怎么開發(fā)插件Add-in的
開發(fā)Office插件(Add-in)的途徑有各種各樣的,我大致總結(jié)分為三類:
VBA 開發(fā):這個是基于Visaul Basic for Application這套開發(fā)模型做的一些定制。這種定制的限制比較多一些,但開發(fā)難度相對來說更加低一些。做過VBA開發(fā)的朋友都知道,VBA是脫離不了應(yīng)用程序本身的。例如Excel的VBA編輯器如下圖所示
VC++,Visual Basic開發(fā):這種開發(fā)方式允許我們在VC++,或者VB 6中,直接實(shí)現(xiàn)Extensibility.IDTExtensibility2這套接口,并且可以更加靈活,做更加強(qiáng)大的一些定制。目前的Office應(yīng)用程序中,默認(rèn)就安裝好了的一些插件,都是這種方式做的。例如下圖是我的Outlook默認(rèn)安裝的一些插件列表
【備注】很早之前,我也用VB 6做過這方面的開發(fā)。但現(xiàn)在基本連VB 6的安裝程序都找不到了。所以這里就不截圖了,其實(shí)就是有一個項(xiàng)目模板,然后實(shí)現(xiàn)接口。開發(fā)這種插件,關(guān)鍵在于對Office本身內(nèi)部的一些對象模型熟悉。
VSTO開發(fā):所謂VSTO,全稱是Visual Studio Tools for Office.我記得是從VS 2003開始提供了VSTO 1.0,簡而言之,就是允許在.NET的開發(fā)環(huán)境中開發(fā)Office應(yīng)用程序或者插件。這種方式有著顯而易見的好處,就是能力增強(qiáng),因?yàn)榭梢杂玫?NET的整套框架。VSTO發(fā)展到現(xiàn)在有幾個版本,分別如下
VS 2003: VSTO 1.0
VS 2005: VSTO 2.0
VS 2008: VSTO 3.0
VS 2010: VSTO 4.0
VSTO 之前的版本有一些不太好的地方是部署,不要小看部署這個環(huán)節(jié)。如果你曾經(jīng)花了很多精力寫出來了一個很好的插件,但是因?yàn)楦魇礁鳂拥牟渴饐栴}導(dǎo)致沒有辦法很順利地分發(fā)給你的用戶,那種感覺是很讓人沮喪的。VSTO的解決方案有相當(dāng)多的一些環(huán)境依賴,另外還需要提升.NET中的安全策略等等。
一個好消息是,現(xiàn)在的新版本中,開發(fā)和部署將是相對更加容易了。在開發(fā)方面,模板更加好用,也提供了對Ribbon的內(nèi)置支持,部署方面,我們可以通過ClickOnce技術(shù)發(fā)布到網(wǎng)站,或者打包成一個vsto壓縮包文件,很容易地進(jìn)行部署。本文我們就來用一個簡單例子進(jìn)行說明。
然后,我們來看看在新版的開發(fā)工具中,如何快速高效地開發(fā)插件(Add-in)
作為演示,我主要側(cè)重于開發(fā)和部署的流程。我們要實(shí)現(xiàn)的一個插件,其場景比較簡單:
我們需要在Outlook中添加一個新的Ribbon按鈕,該按鈕點(diǎn)擊之后,可以彈出一個窗口,允許我們從Excel文件中導(dǎo)入聯(lián)系人
那就讓我們開始吧
第一步:創(chuàng)建一個Add-in項(xiàng)目
這個項(xiàng)目模板會自動創(chuàng)建下面的項(xiàng)目結(jié)構(gòu)
【備注】在ThisAddin這個類中,可以很方便地訪問到Outlook的當(dāng)前實(shí)例,只要使用如下的代碼即可
this.Application
第二步:添加一個Ribbon
我們需要為Outlook添加一個新的Ribbon按鈕,事實(shí)上這很容易做到。
我們選擇Ribbon(Visual Designer),這樣就可以在可視化界面中設(shè)計(jì)了
我們首先需要設(shè)置一下,這個Ribbon是在什么地方要顯示。在下圖中,我們將RibbonType修改為Microsoft.Outlook.Explorer,這樣的意思是說,我們這個Ribbon是現(xiàn)在在Outlook默認(rèn)的那個管理器窗口中的
接下來,我們可以添加一個按鈕到group1中去。工具箱中有很多可用的控件
我最好做好的Ribbon看起來像下面這樣
第三步:實(shí)現(xiàn)簡單的邏輯
接下來,我們可以為這個按鈕實(shí)現(xiàn)簡單的邏輯
通過雙擊該按鈕,會產(chǎn)生一個事件處理器
我簡單地實(shí)現(xiàn)代碼如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using System.Windows.Forms;
namespace OutlookAddInSample
{
public partial class MyRibbon
{
private void MyRibbon_Load(object sender, RibbonUIEventArgs e)
{
}
private void btImport_Click(object sender, RibbonControlEventArgs e)
{
Form form = new Form()
{
Text = "Import Contacts from Excel File",
StartPosition=FormStartPosition.CenterScreen
};
form.Show();
}
}
}
第四步:調(diào)試
完成如上的操作之后,一個最簡單的Add-in就做好了。那么如何進(jìn)行調(diào)試呢?
沒錯,直接按F5就可以進(jìn)行調(diào)試了。此時,Outlook會自動打開,然后我們的Ribbon也確實(shí)能看到了
點(diǎn)擊該按鈕,我們也確實(shí)可以看到一個窗口被顯示出來了
同時,我們在Outlook的選項(xiàng)對話框中也能看到這個插件的信息
第五步:發(fā)布
如果我們在本機(jī)做好了調(diào)試,那么如何分發(fā)給用戶呢?以前我們一般會制作一個MSI的安裝程序,現(xiàn)在你依然可以這么做。但我今天主要介紹的是一種更加方便的部署方式,就是通過ClickOnce技術(shù)發(fā)布到網(wǎng)站或者文件夾中。
【注意】這里的location是可以有下面幾種的。但我這里保持默認(rèn)的選擇,直接發(fā)布到一個文件夾
發(fā)布如果沒有遇到什么錯誤的話,會生成下面的一個目錄
我們一般可以將這個目錄,打包給用戶即可。
第六步:安裝
接下來,用戶如果拿到了這些文件,應(yīng)該如何安裝使用呢?其實(shí)也很簡單,它可以雙擊setup.exe,或者設(shè)置直接雙擊vsto文件也可以
一般情況下,會有一個提示。
點(diǎn)擊“install”
然后,我們再去打開Outlook的話,仍然是可以看到這個Add-in以及它所添加的Ribbon的
第七步:卸載
最后,如果用戶需要卸載這個插件,應(yīng)該怎么做呢?
他們可以在Programs and Features窗口中,找到這個插件,然后點(diǎn)擊“Uninstall”即可
VBA 是 Office 常見套件的母語,不是說換就換的,就好比 N 年前發(fā)明的自行車,在這個汽車流行的時代依然存在,這至少說明了一點(diǎn):經(jīng)典的東西自然有其自身存在的價值。
當(dāng)使用 VBA 做出來的功能滿足不了我們需求的時候,我們可以考慮用 VSTO (Visual Studio Tools for Office) 來開發(fā),而在 VSTO 的開發(fā)中就有兩種常見的語言,他們是:VB.NET、C#。VB.NET 和 VBA 都屬于 Basic 語言家族的,所以他們有相似之處。
PS:
在 .NET 中有 WebService,在 Excel 2013 中也可以方便的調(diào)用 WorksheetFunction.WebService,但是在 Excel 2013 以前的版本中是沒有的,從這點(diǎn)可以看出,微軟還是在不斷的加強(qiáng)和完善新版 Office 組件中的 VBA 功能。
文章標(biāo)題:vb.net開發(fā)vsto vs2010 vb教程
文章轉(zhuǎn)載:http://muchs.cn/article48/dohhpep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站建設(shè)、建站公司、云服務(wù)器、關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)