国产精品久久久久久久久久东京,亚洲视频免费播放,少妇人妻精品一区二区三区视频,日韩一级品

好房網(wǎng)

網(wǎng)站首頁 行業(yè)快訊 > 正文

今日更新模塊代碼(標(biāo)準(zhǔn)模塊代碼)

2022-05-17 20:12:40 行業(yè)快訊 來源:
導(dǎo)讀 目前大家應(yīng)該是對(duì)模塊代碼(標(biāo)準(zhǔn)模塊代碼)比較感興趣的,所以今天好房網(wǎng)小編CC就來為大家整理了一些關(guān)于模塊代碼(標(biāo)準(zhǔn)模塊代碼)方面的相
目前大家應(yīng)該是對(duì)模塊代碼(標(biāo)準(zhǔn)模塊代碼)比較感興趣的,所以今天好房網(wǎng)小編CC就來為大家整理了一些關(guān)于模塊代碼(標(biāo)準(zhǔn)模塊代碼)方面的相關(guān)知識(shí)來分享給大家,希望大家會(huì)喜歡哦。

模塊代碼(標(biāo)準(zhǔn)模塊代碼)

大家好,最近推出的內(nèi)容是"VBA信息獲取與處理"中的部分內(nèi)容,這套教程面向中高級(jí)人員,涉及范圍更廣,實(shí)用性更強(qiáng),現(xiàn)在的內(nèi)容是第三個(gè)專題"VBA代碼的分類及如何利用代碼自動(dòng)關(guān)閉空閑文件"的內(nèi)容。

大家好,我們這講開始一個(gè)新的專題,這個(gè)專題中我們首先講解一下VBA代碼應(yīng)用的模塊(module),然后介紹給大家如何利用VBA代碼實(shí)現(xiàn)已經(jīng)打開文件的自動(dòng)關(guān)閉。

我們要知道,模塊是代碼的容器。所有代碼必須寫在模塊中才能執(zhí)行??梢詫⒛K看做為一個(gè)文件,實(shí)際上,我們確實(shí)可以將模塊導(dǎo)出為一個(gè)文本文件。在一個(gè)模塊中,可以包含幾個(gè)過程。對(duì)于一個(gè)小的工程,可以將所有代碼放在一個(gè)模塊中。而對(duì)于大的、復(fù)雜的項(xiàng)目,可以將代碼寫在幾個(gè)模塊中,以利于組織和修改。在執(zhí)行代碼時(shí),過程在哪個(gè)模塊中并不重要。來自一個(gè)模塊的代碼可以調(diào)用同一項(xiàng)目中任何其他模塊中的代碼(注意所調(diào)用的過程作用域不是私有的Private)。

另外,我們也可以將一個(gè)模塊文件,其文件名擴(kuò)展名為bas,類模塊文件,其文件名擴(kuò)展名為cls或frm(用于用戶窗體)通過從VBA編輯器的"文件"菜單中選擇"導(dǎo)入"項(xiàng),將該模塊導(dǎo)入到項(xiàng)目中。那么在VBA中代碼又是如何進(jìn)行分類呢?一般來講,按模塊分,代碼的可以有四種類型:標(biāo)準(zhǔn)模塊代碼;工作簿和工作表模塊代碼;用戶窗體模塊代碼;類模塊代碼,這個(gè)專題我將主要給大家介紹標(biāo)準(zhǔn)模塊代碼,工作簿和工作表模塊代碼的知識(shí).對(duì)于窗體模塊涉及到的內(nèi)容類似于上述兩個(gè)部分不再講解,對(duì)于類模塊大家可以參考我的專門教程"VBA中類模塊的解讀及應(yīng)用"。

第一節(jié) 標(biāo)準(zhǔn)模塊代碼(Standard Code Modules)

標(biāo)準(zhǔn)代碼模塊,是放置大部分VBA代碼的地方。對(duì)于新手程序員,所有代碼都會(huì)將在標(biāo)準(zhǔn)模塊中。我們實(shí)現(xiàn)的絕大多數(shù)的功能也是在標(biāo)準(zhǔn)模塊代碼中完成的。這講的內(nèi)容就是給大家講解標(biāo)準(zhǔn)模塊代碼。

1 標(biāo)準(zhǔn)模塊代碼的組成

一個(gè)標(biāo)準(zhǔn)模塊代碼一般包含三個(gè)部分。第一個(gè)是編譯器指令部分,位于模塊的最頂部,它包含諸如Option Explicit和Option Compare Text之類的指令。但這些指令不是必需的,你可以根據(jù)自己的習(xí)慣在需要的時(shí)候使用它們。第二部分稱為聲明部分,可以聲明了模塊級(jí)或過程級(jí)范圍的變量。這些變量可以由模塊中的任何過程訪問,并且即使在執(zhí)行了一個(gè)過程或一組過程并修改了其值之后,這些變量仍保留其值。聲明部分也可以包含聲明引用函數(shù)。這些函數(shù)定義通常指向構(gòu)成Windows操作系統(tǒng)的各種DLL文件中的函數(shù)。這些語句Sub、Function或Property過程之前。第三部分是模塊中包含的實(shí)際代碼。代碼部分包含執(zhí)行實(shí)際工作的所有代碼。

標(biāo)準(zhǔn)模塊代碼(Standard Code Modules)的深度解讀

上面的代碼是本專題將利用的代碼,這段代碼沒有包含上面講解的第一部分,沒有設(shè)置強(qiáng)制變量的聲明及比較的模式等等,但包含上面講解的第二部分,這部分聲明了一個(gè)正常的Public變量: RunWhen,這個(gè)變量是在整個(gè)工程中有效的。還聲明了一個(gè)常數(shù)的NUM_MINUTES,這個(gè)常數(shù)的意義就是我們將要經(jīng)過多長(zhǎng)時(shí)間讓這個(gè)文件自動(dòng)關(guān)閉。在上面的SUB過程就是我們前面提到的第三部分過程代碼。

2 標(biāo)準(zhǔn)模塊代碼中的過程分類

過程是可以作為一個(gè)單元執(zhí)行的代碼塊。所有代碼必須屬于一個(gè)過程。代碼不能存在于過程之外。雖然單個(gè)模塊可以包含一定數(shù)量(<=1000)的單個(gè)過程,但通常最好將這些過程按相關(guān)功能分組為多個(gè)模塊。這使得項(xiàng)目的組織更好,并可以讓某個(gè)過程代碼得到多次的調(diào)用。我們可以使用兩種類型的過程。(實(shí)際上,有三種類型,但這里不討論屬性過程。)

第一個(gè)過程是SUB過程,這個(gè)過程可以自己運(yùn)行,也可以被另一個(gè)過程調(diào)用,或者調(diào)用另外的過程。需要注意的是:sub過程不會(huì)向調(diào)用它的過程提供返回值,它只是執(zhí)行,然后將程序運(yùn)行的控制權(quán)再返回給調(diào)用它的過程。如果它沒有被另一個(gè)過程調(diào)用,只是自己的運(yùn)行,則終止代碼執(zhí)行。

第二個(gè)過程是函數(shù)Function過程,這個(gè)過程類似于SUB過程,只是函數(shù)可以將值返回給調(diào)用它的過程。函數(shù)通常將一個(gè)或多個(gè)參數(shù)作為輸入,并將單個(gè)值返回給調(diào)用者,調(diào)用者的值取決于輸入?yún)?shù)的值。我們來看看下面的的代碼,SUB過程MYNZ調(diào)用函數(shù)過程CircleArea,將圓的半徑傳遞給它。CircleArea函數(shù)接受此輸入,進(jìn)行簡(jiǎn)單計(jì)算,并將結(jié)果返回給調(diào)用方過程。

Sub MYNZ()

Dim Area As Double

Dim Radius As Double

Radius = 11

Area = CircleArea(Radius)

MsgBox "The area is: " & CStr(Area)

End Sub

Function CircleArea(Radius As Double) As Double

CircleArea = 14159 * (Radius ^ 2)

End Function

代碼的截圖:

標(biāo)準(zhǔn)模塊代碼(Standard Code Modules)的深度解讀

上面的講解中,無論是SUB過程還是Function過程,都是一個(gè)標(biāo)準(zhǔn)模塊內(nèi)的過程。

一個(gè)VBA程序工程可以包含任意多個(gè)標(biāo)準(zhǔn)代碼模塊。這使得您可以很容易地將您的過程劃分為不同的模塊,以便于組織和維護(hù)。例如,可以將所有數(shù)據(jù)庫過程放在一個(gè)名為database的模塊中,將所有數(shù)學(xué)過程放在另一個(gè)名為Math的模塊中。只要過程沒有Private關(guān)鍵字聲明,模塊沒有標(biāo)記為Private,就可以從任何其他模塊調(diào)用,而無需執(zhí)行任何特殊操作。

本節(jié)知識(shí)點(diǎn)回向:VBA中代碼一般分為幾類?標(biāo)準(zhǔn)模塊代碼一般分為幾部分?SUB過程和

Function過程有什么不同?

本節(jié)內(nèi)容詳細(xì)代碼"參考003工作表.XLSM"

標(biāo)準(zhǔn)模塊代碼(Standard Code Modules)的深度解讀

VBA是利用Office實(shí)現(xiàn)自己小型辦公自動(dòng)化的有效手段,這是我對(duì)VBA的應(yīng)用界定。在取代OFFICE新的辦公軟件沒有到來之前,誰能在數(shù)據(jù)處理方面做到極致,誰就是王者。其中登峰至極的技能非VBA莫屬!學(xué)習(xí)VBA是個(gè)過程,也需要經(jīng)歷一種枯燥的感覺,如太白詩云:眾鳥高飛盡,孤云獨(dú)去閑。相看兩不厭,只有敬亭山。

"水善利萬物而不爭(zhēng)",綿綿密密,微則無聲,巨則洶涌。學(xué)習(xí)亦如此,知道什么是自己所需要的,不要蜷縮在一小塊自認(rèn)為天堂的世界里,待到暮年時(shí)再去做自欺欺人的言論。要努力提高自己,用一顆充滿生機(jī)的心靈,把握現(xiàn)在,這才是進(jìn)取。越是有意義的事情,困難會(huì)越多。愿力決定始終,智慧決定成敗。不管遇到什么,都是風(fēng)景??吹姞?zhēng),看輕得失。茶,滿也好,少也好,不要計(jì)較;濃也好,淡也好,其中自有值得品的味道。去感悟真實(shí)的時(shí)間,靜下心,多學(xué)習(xí),積累福報(bào)。而不是天天混日子,也不是天天熬日子。在后疫情更加嚴(yán)峻的存量殘殺世界中,為自己的生存進(jìn)行知識(shí)的儲(chǔ)備,特別是新知識(shí)的儲(chǔ)備。學(xué)習(xí)時(shí)微而無聲,利用時(shí)則巨則洶涌。

我記得20年前自己初學(xué)VBA時(shí),那時(shí)的資料甚少,只能看源碼自己琢磨,真的很難。20年過去了,為了不讓學(xué)習(xí)VBA的朋友重復(fù)我之前的經(jīng)歷,我根據(jù)自己多年VBA實(shí)際利用經(jīng)驗(yàn),推出了六部VBA專門教程。

第一套:VBA代碼解決方案是VBA中各個(gè)知識(shí)點(diǎn)的講解,覆蓋絕大多數(shù)的VBA知識(shí)點(diǎn),初學(xué)必備;

第二套:VBA數(shù)據(jù)庫解決方案數(shù)據(jù)庫是數(shù)據(jù)處理的專業(yè)利器,教程中詳細(xì)介紹了利用ADO連接ACCDB和EXCEL的方法和實(shí)例操作,適合中級(jí)人員的學(xué)習(xí)。

第三套:VBA數(shù)組與字典解決方案數(shù)組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學(xué)習(xí),是初級(jí)及中級(jí)人員代碼精進(jìn)的手段。

第四套:VBA代碼解決方案之視頻是專門面向初學(xué)者的視頻講解,可以快速入門,更快的掌握這門技能。

第五套:VBA中類的解讀和利用 這是一部高級(jí)教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細(xì)的學(xué)習(xí)可以促進(jìn)自己VBA理論的提高。

第六套教程:《VBA信息獲取與處理》,這是一部高級(jí)教程,涉及范圍更廣,實(shí)用性更強(qiáng),面向中高級(jí)人員。教程共二十個(gè)專題,包括:跨應(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)容。如需要可以可以WeChat: NZ9668

學(xué)習(xí)的過程也是修心的過程,修一個(gè)平靜的心。在代碼的世界中,心平靜了,心情好了,身體自然而然就好。心靜則正,內(nèi)心里沒有那么多邪知邪見,也就沒有那么多妄想。利人就是利己。這些教程也是為幫助大家起航,助上我自己之力,我的上述教程是我多的經(jīng)驗(yàn)的傳遞,大家可以根據(jù)以上資料1,3,2,6,5或者是4,3,2,6,5的順序逐漸深入的逐漸學(xué)習(xí)。

標(biāo)準(zhǔn)模塊代碼(Standard Code Modules)的深度解讀

每一分收獲都是成長(zhǎng)的記錄,怎無憑,正是這種執(zhí)著,成就了朝霞的燦爛。最后將一闕詞送給致力于VBA學(xué)習(xí)的朋友,讓大家感受一下學(xué)習(xí)過程的枯燥與執(zhí)著:

浮云掠過,暗語無聲,

唯有清風(fēng),驚了夢(mèng)中啼鶯。

望星,疏移北斗,

奈將往事雁同行。

阡陌人,昏燈明暗,

忍顧長(zhǎng)亭。

多少VBA人,

暗夜中,悄聲尋夢(mèng),盼卻天明。

怎無憑!

分享成果,隨喜正能量


版權(quán)說明: 本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!


標(biāo)簽: