《VBA信息獲取與處理》教程(10178984)是我推出第六套教程,目前已經(jīng)是第一版修訂了。這套教程定位于最高級(jí),是學(xué)完初級(jí),中級(jí)后的教程。這部教程給大家講解的內(nèi)容有:跨應(yīng)用程序信息獲得、隨機(jī)信息的利用、電子郵件的發(fā)送、VBA互聯(lián)網(wǎng)數(shù)據(jù)抓取、VBA延時(shí)操作,剪貼板應(yīng)用、Split函數(shù)擴(kuò)展、工作表信息與其他應(yīng)用交互,F(xiàn)SO對(duì)象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數(shù)等等內(nèi)容。程序文件通過(guò)32位和64位兩種OFFICE系統(tǒng)測(cè)試。是非常抽象的,更具研究的價(jià)值。
教程共兩冊(cè),二十個(gè)專(zhuān)題。今日分享內(nèi)容是:利用shell()函數(shù)在Word中打開(kāi)Excel(2)
在WORD中打開(kāi)EXCEL的方案中,作為通用講解,我這里提供給大家兩種方案。這種操作雖然有很多的方法,本節(jié)利用的兩種方案也或許不符合你的編程習(xí)慣,但這沒(méi)有關(guān)系,我的教程就是把我認(rèn)為比較好的應(yīng)用介紹給大家。讀者可以嘗試。
關(guān)于shell()函數(shù),我在我的第一套教程“VBA代碼解決方案”中給大家講解過(guò),這里再給大家講解一下:shell(),它既不是工作表函數(shù),也不是api函數(shù),它是vba自帶的函數(shù)。api是應(yīng)用程序接口,shell是應(yīng)用程序和系統(tǒng)之間的橋梁。
它的用法很簡(jiǎn)單,就是執(zhí)行一個(gè)可執(zhí)行文件。與開(kāi)始菜單的運(yùn)行功能一樣。
語(yǔ)法:Shell(pathname[,windowstyle])
pathname 是要執(zhí)行的程序名,可能還包括目錄或文件夾
Windowstyle 表示在程序運(yùn)行時(shí)窗口的樣式
常數(shù) 值 描述
vbHide 0 窗口是隱藏的,并且焦點(diǎn)被傳遞給隱藏窗口。
vbNormalFocus 1 窗口擁有焦點(diǎn),并且恢復(fù)到原來(lái)的大小與位置。
vbMinimizedFocus 2 窗口縮小為圖符并擁有焦點(diǎn)。
vbMaximizedFocus 3 窗口最大化并擁有焦點(diǎn)。
vbNormalNoFocus 4 窗口被恢復(fù)到最近一次的大小與位置。當(dāng)前活動(dòng)窗口仍為活動(dòng)窗口。
vbMinimizedNoFocus 6 窗口縮小為圖符。當(dāng)前活動(dòng)窗口仍為活動(dòng)窗口。
下面我們看看打開(kāi)”001 工作表.XLSM',的代碼:
Sub mynz()
myfile = Chr(34) & ActiveDocument.Path & '\001 工作表.XLSM' & Chr(34)
Shell 'excel.exe ' & myfile
End Sub
代碼截圖:
代碼講解:這段代碼是非常簡(jiǎn)單的,將路徑和文件名賦給shell函數(shù)后就可以實(shí)現(xiàn),需要我們注意的是語(yǔ)句的寫(xiě)法,chr(34)代表的是雙引號(hào),需要用雙引號(hào)將文件名再次括起來(lái),然后這個(gè)函數(shù)才可以正確的讀懂含有空格的文件名,當(dāng)然不要忘了在excel.exe的后面也要加上空格。
本節(jié)知識(shí)點(diǎn)回向:上面的兩種方案都是可以打開(kāi)EXCEL文件的,我們?cè)趯?shí)際的應(yīng)用中可以選擇利用。在本節(jié)中我們需要注意下面幾個(gè)知識(shí)點(diǎn):
① 如何建立應(yīng)用程序的引用。
② 如何利用OPEN語(yǔ)句打開(kāi)文件。
③ 如何利用shell函數(shù)打開(kāi)文件。
④ 利用shell函數(shù)如何處理文件名中的空格問(wèn)題。
本節(jié)代碼參考文件“001 在WORD中激活EXCEL.docm”
我20多年的VBA實(shí)踐經(jīng)驗(yàn),全部濃縮在下面的各個(gè)教程中,教程學(xué)習(xí)順序:
【分享成果,隨喜正能量】獲得什么便珍惜什么,失去什么便接受什么,給我的我歡喜,不給我的我不焦慮。就是這樣,付七分力氣,留三分給嬉戲。 。
聯(lián)系客服