洲美↔淡水單車行

07-03-2011

最近一陣子工作的忙碌,假日只想在家休息,似乎已忘記汗水、陽光的滋味。信如的邀約,讓我有動力再次感受運動的暢快

未完成單車環島行之啟程

07-01-2009

沒有任何詳盡計畫,憑著一顆尋夢的心去環島。或許沒辦法完成,但我想過程中的點點滴滴才會是這段旅程中最可貴的收穫。2009-07-01攝於住家前。

野柳國家風景區

07-01-2009

於環島第一天途中到野柳國家風景區。著名的女王頭果然是遊客的最愛。當天遇到韓國旅行團、中國旅行社,一大群人都搶著跟這顆女王頭拍照。地上有標示, 告訴你站什麼位置,在哪個地方拍角度才會像女王頭,還頗貼心的。

巧姐文定之喜

11-29-2009

巧慧姐成為大學同學中第一個成就終身大事的幸運兒。這也是我生平第一次參加自己朋友喜宴,穿著、禮金這一切對我來說很新鮮。著西裝到場的我雖然被虧太正式,但這種特殊場合中特別一點又何妨!畢業後同學們各自在不同的領域中奮鬥,我想以後這種喜宴場合會是另一種同學會的形式吧!恭喜巧慧姐,祝妳百年好合、早生貴子!

VB.NET與VBA的連結

On 11/01/2007

這是我前一陣子研究的結果
跟大家分享一下

首先要會寫VBA(Visual Basic Application)
不會的請自己研究這邊就不多做敘述
這裡以Excel VBA為例
當寫好VBA module後
在檔案→匯出檔案中將VBA程式碼匯出
將來會使用到
假設匯出的檔案為Module1.bas

Module1.bas的程式碼
===================
Public Sub f()
MsgBox ("test")
End Sub
===================
就是一個簡單呼叫一個messagebox上面顯示"test"

之後開啟Visual Studio.NET
在檔案→新增→專案中選擇Visual Basic專案→Windows應用程式
設定好名字後按下[確定]

接著在Form1上面新增一個button

在button上面點兩下即可進入程式碼編輯畫面中

在右側方案總管→參考上按右鍵 選擇加入參考
接著選擇COM分頁找到Microsoft Office 11.0 Object Library
按選取之後按下[確定]
此時參考中會加入Excel的選項

接著在程式碼的最上端加入
Imports Microsoft.Office.Interop.Excel

在Button1_Click事件中寫下列程式碼
=================================
Dim excel As New Application
Dim wb As Workbook

excel.Workbooks.Add()
wb = excel.Workbooks.Item(1)

Dim excel_module As Microsoft.Vbe.Interop.VBComponent
Try
excel_module = wb.VBProject.VBComponents.Add(Microsoft.Vbe.Interop.vbext_ComponentType.vbext_ct_StdModule)
excel_module.CodeModule.AddFromFile(System.Windows.Forms.Application.StartupPath + "\Module1.bas")
Catch exc As Exception

End Try
excel.Run("f")

excel.Workbooks.Close()
=================================
System.Windows.Forms.Application.StartupPath代表程式執行路徑
我是將Module1.bas放在同一路徑下
這裡可以自己更動
而excel.Run("f")代表執行f()這個function
如果function內有帶參數的話就用逗點隔開
形式如excel.Run("f",參數一,參數二,...)
這樣之後便可以執行檔案
按下button後就可以看到會開啟一個excel並且出現msgbox

0 Response to "VB.NET與VBA的連結"

張貼留言

歡迎留下您的回應