我想開發和自動化Office軟件,如「Microsoft Excel 2007」和「Microsoft Word 2007」。但我不知道如何使用VBA或使用C#/ .Net框架來做到這一點。用於Office的VBA或.NET?
使用VBA與.Net框架有什麼好處?
哪一個我應該專注於學習?
我想開發和自動化Office軟件,如「Microsoft Excel 2007」和「Microsoft Word 2007」。但我不知道如何使用VBA或使用C#/ .Net框架來做到這一點。用於Office的VBA或.NET?
使用VBA與.Net框架有什麼好處?
哪一個我應該專注於學習?
當談到Office自動化時,VBA和.NET兩者都有其優點和缺點。下面只是從我頭頂開始的一些觀點。該列表並不完整,我的個人意見,所以隨時添加/刪除點,只要你喜歡。 .NET的
優點是
缺點整合。NET
優點爲VBA是
缺點
兩者都有共同點
當談到學習並獲得熟悉的Office對象模型,VBA肯定是更容易學習,特別是因爲它是很容易記錄一個宏,然後在VBA編輯器中簡單地玩。
底線是,VBA可能最適合應該易於部署的小型項目,而使用.NET,您可以使用完整的.NET Framework構建強大的附加組件,並提供豐富的用戶體驗。
這在很大程度上取決於問題的複雜程度。如果這是一件簡單的事情,一個快速的VBA腳本可能就足夠了。但如果只有幾行代碼,我會選擇C#/ .NET。這些技術顯然是微軟的戰略方向,我發現你可以在技術層面上提高生產力,而不是用VBA做複雜的事情。
我想說
,如果你不使用任何其他技術,而不是Office套件 - 去VBA。
如果您打算處理諸如創建xml文件,使用數據庫連接,多線程等等。 - .NET更好。
此外它很好看在未來。你打算做一個開發人員的職業生涯(去.NET)嗎,或者你只是生產型的人,誰想要使大部分Office(去VBA)。
我建議使用VBA,如果你有幾乎沒有編程經驗,這就是爲什麼。
就像史蒂夫羅曼在他的一本Word宏書中指出的那樣,VBA是開始學習編程的絕佳語言。不,你不會學習OOP,但是你可以在一個簡單的,非恐嚇的環境中學習程序編程,變量,類型,對象等等。
觀察它的一種方法是將它看作是與露營車進行露營和第五輪拖車和F-350進行露營的區別。
如果戴夫和貝蒂有一輛露營車(Excel),它配備了他們週末偶爾去海邊旅行所需的一切,還有一個「足夠好」的4缸發動機(VBA)那裏和後面。
但也許布巴希望被視爲一個嚴重的露營。他希望有更多的靈活性,可以隨時隨地去任何地方,一年中的任何時間,隨身攜帶任何他想要的任何東西,包括船和狗。所以他會購買F-350(Visual Studio),以及一個可以拉動露營者,船隻,滑雪板和馬匹的掛鉤,以及用於第五輪的牀上用品 - 以防萬一。他喜歡花時間在車庫裏設置一切,很好地協作。 C#/ .Net對所有這些都很好。每一種尺寸的絞車和製冷設備都可以滿足您的需求。
而且他們可以將露營車拖到當地車輪上。
你能否澄清你將要開發什麼樣的項目? – Marek 2010-05-27 12:23:19
想要學習如何編程的榮譽! – 2010-05-29 04:51:41