如果是打開Excel文件就自動運行宏,那么,可以在ThisWorkBook里面,在WorkBook_Open事件里面加入代碼,這樣啟動Excel文件即可自動運行宏。或者在模塊里面使用Auto_Open事件,也可以自動運行宏。
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務至上”的服務理念,堅持“二合一”的優(yōu)良服務模式,真誠服務每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及成都酒樓設計等,在重慶網(wǎng)站建設公司、成都營銷網(wǎng)站建設、WAP手機網(wǎng)站、VI設計、軟件開發(fā)等項目上具有豐富的設計經(jīng)驗。
如果是在Excel使用過程中使用宏,就必須根據(jù)你的需要,選擇合適的事件來觸發(fā)宏代碼。
比如,如果要A1單元格的值改變,就自動運行某個宏,那么就在Sheet_Change事件中,加入代碼
If Target.Address = "$A$1" Then Call xx宏
如果是選取單元格變化觸發(fā)某個宏,則用SHeet_SelectionChange事件。
所以,要自動運行某個宏,就必須明白你首先需要在什么時候觸發(fā)宏,然后根據(jù)需要來選擇相應的事件即可??!
第一步,新建項目。
1
打開vb.net,也就是打開Microsoft visual studio 2010,第一次使用的時候設置為basic語言就行。新建項目--打開excel。
2
新建成功。
END
第二步,添加引用。
1
“項目”--“添加引用”。
2
添加Microsoft Excel 14.0 Object Library。
END
第三步,添加打開文件對話框工具。
1
工具箱--對話框--openfiledialog。
2
添加成功。
END
第四步,添加命令按鈕控件。
1
工具箱--公共控件--button。
在控件上右擊鼠標,進入屬性設置。
2
text屬性設置為“打開excel”。
3
name屬性也設置為“打開excel”。
END
第五步,編寫程序。
1
鼠標雙擊命令按鈕,進入編程界面,編寫程序。
END
第六步,運行程序。
1
鼠標單擊啟動調(diào)式圖標,程序開始運行。
2
單擊打開excel命令按鈕,調(diào)用打開文件對話框,選擇自己要打開的excel文件。
END
第七步,保存程序。
第一次程序運行完,關閉程序,出現(xiàn)關閉項目提示,選擇保存。
2
選好自己要保存的位置。
1 使用Shell函數(shù)直接調(diào)用
語法:Shell (pathname[,windowstyle]).Pathname是指要執(zhí)行的程序的名字和任何必須的參數(shù)或命令行開關,可以包括目錄和驅動器名;Windowstyle是執(zhí)行程序的窗口風格的數(shù)字。
使用Shell調(diào)用Word比較簡單,編程量小,但必須明確指定Word所在路徑,這不利于移植,而且,不能對Word進行控制,不利于程序和Word之間的數(shù)據(jù)交換。
2 使用OLE自動化控制Microsoft Word
2.1 使用方法
(1)Word為OLE自動化提供一種稱為“Basic”的對象,要在VB中控制Word ,首先要定義一個引用Word中“Basic”對象的對象變量:Dim Wordobj as Object
(2)將Word 中的“Basic”對象賦給該對象:Set Wordobj=CreateObject("Word.Basic")
(3)可以使用大多數(shù)WordBasic語句和函數(shù)控制Word或Word文檔,使用方法和在Word宏中使用WordBasic指令的方法基本相同。
(4)關閉Word:Set Wordobj =Nothing。
注意:“Basic”對象不支持關閉它自己的一個方法。即若在OLE自動化中關閉了Word,則對象被置為Nothing,便不能再對對象進行操作,程序出錯。
2.2 VB指令與WordBasic指令的差異
(1)有一些語句和函數(shù)不能使用,包括:控制結構,如While…Wend和If…Then…Else;聲明語句,如Dim;定制對話框相關的語句:FileExit語句;要求數(shù)組變量作為參數(shù)的語句或函數(shù)。
(2)也有一些指令使用方法不同。①返回字符串以一個美元符($)結束的WordBasic函數(shù)的關鍵字必須括在方括號中。例如,在WordBasic宏中的GetBookmark$()語句:mark$=GetBookmark$("Address"),若用VB調(diào)用,必須這樣寫mark$=Wordobj.[Ge-tBookmark$]("Address")。②選擇一個命令按鈕用“True”,不選擇用“False”
2.3 對OLE自動化的說明
Word可以為OLE自動化給另一個應用提供對象,但是它不能使用OLE自動化訪問其它應用中的對象。例如:VB和Excel可以使用OLE自動化訪問Word,但是Word不能使用OLE自動化訪問它們。
3 在包容器中嵌入Word對象
在VB中,要訪問在包容器中嵌入的Word對象,首先要在項目中插入對象。做法如下:在窗體中插入OLE控件,對象類型選擇“MicrosoftWord圖片”或“Microsoft Word文檔”,再按“確定”。
然后用Object屬性訪問文檔或圖片,并使用WordBasic語句和函數(shù)作用于它。嵌入的對象必須在可被訪問之前被激活,可以使用Action屬性激活OLE控件。例如,使用下面指令訪問一個嵌入在稱為OLE1的OLE控件中的文檔:
Dim Wordobj as Object
OLE1.Action =7
Set Wordobj =OLE1.Object.Application. WordBasic
其他方面,使用方法同OLE自動化。使用在包容器中嵌入的Word對象,Word顯示的窗口大小、位置與OLE控件定義的大小、位置相同,而且工具欄顯示位置與Word脫離。這一點與OLE自動化相比,是個不足。
總之,要想在Microsoft Visual Basic中控制Microsoft Word,最好使用OLE自動化,通過使用WordBasic指令對Word進行全面控制,而且,用戶使用起來與使用Microsoft Word一樣,非常方便。
先創(chuàng)建一個模板excel文件,然后作為資源放在程序中,先釋放這個文件,然后操作這個文件。