搜索
登錄
注冊
網(wǎng)絡優(yōu)化工程師招聘專欄
4G/LTE通信工程師最新職位列表
通信實習生/應屆生招聘職位
MSCBSC 移動通信論壇
»
通信軟件開發(fā)與發(fā)布
» 轉載-用DLL封裝VBA
討論帖
資料帖
投票帖
懸賞帖
閱讀:
11136
回復:
11
關注樓主
[經(jīng)驗]
轉載-用DLL封裝VBA
yaoxuanbin
銀牌會員
發(fā)短消息
關注Ta
積分 3716
帖子 54
威望 11285 個
禮品券 8 個
專家指數(shù) 66
注冊 2007-8-20
專業(yè)方向 網(wǎng)優(yōu)
來自 廣東
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#1
大
中
小
使用道具
發(fā)表于 2008-03-26 23:34:13
只看樓主
本文用一簡例來演示如何將一正常在
VBA
中運行的代碼移植到
VB
制作的
DLL
中去,并介紹如何在
VBA
中進行調(diào)用。這僅僅是最初級的介紹,希望能對此內(nèi)容想了解的版友們一些幫助,而已掌握該技術的
FANS
們完全可以跳過本文。
先來了解一下什么是
DLL
:
DLL
是
Dynamic Link Library
的縮寫,意為動態(tài)鏈接庫。在
Windows
中,許多應用程序并不是一個完整的可執(zhí)行文件,它們被分割成一些相對獨立的動態(tài)鏈接庫,即
DLL
文件,放置于系統(tǒng)中。當我們執(zhí)行某一個程序時,相應的
DLL
文件就會被調(diào)用。一個應用程序可有多個
DLL
文件,一個
DLL
文件也可能被幾個應用程序所共用,這樣的
DLL
文件被稱為共享
DLL
文件。
DLL
文件一般被存放在
C:\Windows\System
目錄下。
因此,
DLL
文件可以看作是一個程序擴展函數(shù)庫,成為應用軟件程序的外掛接口。就象我們常在程序中用的
WINDOWS API
,就是如此,它是微軟提供給程序員的函數(shù)寶庫,用戶只需了解函數(shù)功能與調(diào)用規(guī)則就可以拿來使用,而不用知道也不需要知道具體源碼。也正因為此,現(xiàn)在許多
VBA
開發(fā)者在保護其代碼時也多采用此法來維護其合法權益。
現(xiàn)在開始。假如我們要編這么一段代碼:將工作表Sheet1的A1單元格的數(shù)值與B1單元格的數(shù)值相加填寫到C1單元格去(嘿嘿,這是極簡單的了,只是用來說明問題),在VBA模塊我們可以編寫這樣的代碼: Sub test() On Error Resume Next Dim i, j As Integer With Worksheets("Sheet1") i = .Cells(1, 1).Value j = .Cells(1, 2).Value .Cells(1, 3) = i + j End With End Sub 執(zhí)行上面的宏,會發(fā)現(xiàn)C1單元格自動會出現(xiàn)A1+B1的結果了。 下面我們在VB中生成包含以上宏功能的函數(shù)(子程序)的DLL文件。打開VB,“文件”-“新建工程”-“ActiveX DLL”,此時會彈出class1模塊代碼窗口,將如下代碼寫入: Sub test() On Error Resume Next Dim i, j As Integer Dim EB Set EB = GetObject(, "Excel.Application") With EB.ActiveSheet i = .Cells(1, 1).Value j = .Cells(1, 2).Value .Cells(1, 3) = i + j End With Set EB = Nothing End Sub 在生成DLL之前,注意確保VB里"工程"---"引用"里"Microsoft Excel 9.0 Object Library"前面的勾已打上,再就是正確設定好DLL描述與名稱。菜單“工程”----“工程屬性”---“工程描述”,里面可以寫上你的DLL功能名稱或簡介或版本號!耙晥D”---“屬性”,設定名稱為你在其他開發(fā)環(huán)境中欲使用的引用名稱,如“Mytest”。好,現(xiàn)在點擊菜單“文件”---“生成…dll”,會彈出路徑與文件取名窗,按你的意思選擇與輸入好路徑和即將生成的DLL文件名,按確定就會完成DLL的生成工作。 此時DLL已生成在你指定的目錄下了,當前工程保不保存就隨便你自己了,如果以后還想再編輯修改的話,當然得取個文件名保存好:)。生成的DLL如果正確的話,VBA中只要引用后就可正常調(diào)用了。
現(xiàn)在回到
EXCEL VBA
開發(fā)環(huán)境中來,先對剛生成的
DLL
進行一下引用。關于引用,可以手工引用,也可以用代碼來做。手工引用的步驟是:在
VBE
窗口中,菜單“工具”
---
“引用”,會彈出如下窗口:
剛才生成的
DLL
,選擇打勾確定即可。代碼引用:
Shell "regsvr32 /s " & "…………..dll", vbHide
,加
s
參數(shù)是防止出現(xiàn)確認窗口,影響界面。取消引用則使用
/u
參數(shù)。
然后在
VBA
中寫調(diào)用的代碼:
Sub DLLtest()
Dim abc As New Mytest ‘
定義
abc
為新類,即在
DLL
文件中定義的
abc.test ‘
調(diào)用
DLL
中提供的過程,來完成原來在
VBA
中的功能,起到隱藏代碼的效果
Set abc = Nothing
End Sub
提供的示例中,將
VBA
方法與
DLL
調(diào)用放在了一起,便于大家進行比較。另外,
DLL
文件的制作遠比我在這里介紹的復雜,還會涉及到類初始化、自定義屬性與事件等內(nèi)容,不過如果有時我們僅僅需要借助其來保護我們的
VBA
代碼的話,掌握這部分也就足夠了,呵呵。
附件下載列表:
2008-3-26 23:34:13 下載次數(shù): 64
DLL調(diào)用示例.rar
(17.97 KB)
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
1、回復“
YD5GAI
”免費領取《
中國移動:5G網(wǎng)絡AI應用典型場景技術解決方案白皮書
》
2、回復“
5G6G
”免費領取《
5G_6G毫米波測試技術白皮書-2022_03-21
》
3、回復“
YD6G
”免費領取《
中國移動:6G至簡無線接入網(wǎng)白皮書
》
4、回復“
LTBPS
”免費領取《
《中國聯(lián)通5G終端白皮書》
》
5、回復“
ZGDX
”免費領取《
中國電信5G NTN技術白皮書
》
6、回復“
TXSB
”免費領取《
通信設備安裝工程施工工藝圖解
》
7、回復“
YDSL
”免費領取《
中國移動算力并網(wǎng)白皮書
》
8、回復“
5GX3
”免費領取《
R16 23501-g60 5G的系統(tǒng)架構1
》
共獲得 2 次點評
我要點評
dlutli
威望 +10 個
· 學習,這是一個好辦法
詳細..
發(fā)表與:2008-6-9 20:39:04
cmccmario
專家指數(shù) +1
· 我很贊同
詳細..
發(fā)表與:2008-5-11 18:41:44
作者的更多帖子
生成加鄰區(qū)指令
2012-11-21
COUNTER解釋整理
2012-09-19
自制公式(非常有用)
2012-07-19
非常全非常詳細的GSM信令流程(還有大量圖解)
2012-07-19
愛立信3算法
2012-03-16
ExcelVBA與數(shù)據(jù)庫
2012-01-12
[
充值威望,立即自動到帳
] [
VIP貴賓權限+威望套餐
] 另有大量優(yōu)惠贈送活動,請光臨充值中心
充值擁有大量的威望和最高的下載權限,下載站內(nèi)資料無憂
yaoxuanbin
銀牌會員
發(fā)短消息
關注Ta
積分 3716
帖子 54
威望 11285 個
禮品券 8 個
專家指數(shù) 66
注冊 2007-8-20
專業(yè)方向 網(wǎng)優(yōu)
來自 廣東
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#2
大
中
小
使用道具
發(fā)表于 2008-03-31 11:10:45
只看樓主
技術問題,回答得專家指數(shù),快速升級
這個論壇沒有辦法查看發(fā)的帖子的閱讀量嗎
在線,22天前提問
微信號綁定錯誤怎么辦
在線,46天前提問
這個紙質(zhì)版,怎么買啊
在線,53天前提問
聯(lián)通的手機不能訪問論壇,解釋論壇的地址是加拿大地.
在線,71天前提問
有沒有做基站覆蓋仿真的軟件?
在線,100天前提問
技術創(chuàng)新與市場策略的調(diào)整,將成為決定企業(yè)能否在全.
在線,103天前提問
終端熄屏進入 Idle 態(tài)?
在線,112天前提問
有些資料能幫忙找嗎
在線,131天前提問
大陸版谷歌打不開,有什么辦法嘛
在線,137天前提問
華為GSC高級和網(wǎng)優(yōu)高級有什么區(qū)別
在線,147天前提問
請問客服在嗎?
在線,164天前提問
信號好,volte通話雜音可能原因
在線,192天前提問
有幾個月了。
在線,200天前提問
為什么訪問你的論壇老出這個無訪問登
在線,200天前提問
怎樣解綁微信?
在線,234天前提問
數(shù)通有哪些產(chǎn)品
在線,253天前提問
很有用的,看不懂的找我,QQ:214525732
對本帖內(nèi)容的看法?
我要點評
[
立即成為VIP會員,百萬通信專業(yè)資料立即下載,支付寶、微信付款,簡單、快速!
]
shelron
金牌會員
發(fā)短消息
關注Ta
積分 7814
帖子 456
威望 33420 個
禮品券 8 個
專家指數(shù) 49
注冊 2006-4-29
專業(yè)方向 通信
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#3
大
中
小
使用道具
發(fā)表于 2008-06-05 21:11:49
頂,支持樓主.
頂,支持樓主.
對本帖內(nèi)容的看法?
我要點評
最新通信職位:
廣東通信人才網(wǎng)
|
北京通信人才網(wǎng)
|
上海通信人才網(wǎng)
|
南京通信人才網(wǎng)
|
西安通信人才網(wǎng)
|
重慶通信人才網(wǎng)
|
中國通信人才網(wǎng)
alcsl
論壇元老
發(fā)短消息
關注Ta
積分 29369
帖子 1244
威望 49354 個
禮品券 164 個
專家指數(shù) 136
注冊 2008-3-24
專業(yè)方向 網(wǎng)絡優(yōu)化
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#4
大
中
小
使用道具
發(fā)表于 2008-06-10 18:32:43
需要學習一下了。!
對本帖內(nèi)容的看法?
我要點評
[
2分鐘擁有VIP權限和充足威望,可下載站內(nèi)任何資料
] [
快速找到一份高薪的通信行業(yè)職位
]
fse2006
金牌會員
發(fā)短消息
關注Ta
積分 7838
帖子 706
威望 71 個
禮品券 0 個
專家指數(shù) 5
注冊 2006-11-6
專業(yè)方向
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#5
大
中
小
使用道具
發(fā)表于 2008-06-17 11:59:21
Excellent
對本帖內(nèi)容的看法?
我要點評
最新通信職位:
廣東通信人才網(wǎng)
|
北京通信人才網(wǎng)
|
上海通信人才網(wǎng)
|
南京通信人才網(wǎng)
|
西安通信人才網(wǎng)
|
重慶通信人才網(wǎng)
|
中國通信人才網(wǎng)
CAMYP
入門會員
發(fā)短消息
關注Ta
積分 5
帖子 1
威望 1 個
禮品券 0 個
專家指數(shù) 0
注冊 2008-7-26
專業(yè)方向 vba
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#6
大
中
小
使用道具
發(fā)表于 2008-07-26 12:32:36
共獲得 1 次點評
我要點評
ipseno
威望 -15 個
· 禁止純表情灌水
詳細..
回復
發(fā)表與:2013-12-29 16:44:17
[
2分鐘擁有VIP權限和充足威望,可下載站內(nèi)任何資料
] [
快速找到一份高薪的通信行業(yè)職位
]
zhangyulei2470
鉆石會員
發(fā)短消息
關注Ta
積分 13497
帖子 509
威望 18391 個
禮品券 15 個
專家指數(shù) 289
注冊 2007-12-29
專業(yè)方向 通信
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#7
大
中
小
使用道具
發(fā)表于 2008-08-02 11:44:32
下載看看那,多謝樓主了!
對本帖內(nèi)容的看法?
我要點評
學無止境,不止學習方能不斷進步!
熱點:
通信招聘職位
|
網(wǎng)絡優(yōu)化全集
|
WCDMA精品
|
TD-SCDMA學習資料
|
EVDO
|
MGW媒體網(wǎng)關資料
chinaren123
銀牌會員
發(fā)短消息
關注Ta
積分 4627
帖子 439
威望 22710 個
禮品券 5 個
專家指數(shù) 7
注冊 2006-6-4
專業(yè)方向 愛立信
來自 WH
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#8
大
中
小
使用道具
發(fā)表于 2008-10-08 21:52:13
相當?shù)母兄x!!!!!!!!!!!!
對本帖內(nèi)容的看法?
我要點評
熱點:
通信招聘職位
|
網(wǎng)絡優(yōu)化全集
|
WCDMA精品
|
TD-SCDMA學習資料
|
EVDO
|
MGW媒體網(wǎng)關資料
xzf953
金牌會員
發(fā)短消息
關注Ta
積分 9431
帖子 868
威望 291145 個
禮品券 5 個
專家指數(shù) 79
注冊 2007-2-27
專業(yè)方向 網(wǎng)絡優(yōu)化+VBA+數(shù)據(jù)庫
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#9
大
中
小
使用道具
發(fā)表于 2008-10-09 19:54:37
頂下
對本帖內(nèi)容的看法?
我要點評
熱點:
通信招聘職位
|
網(wǎng)絡優(yōu)化全集
|
WCDMA精品
|
TD-SCDMA學習資料
|
EVDO
|
MGW媒體網(wǎng)關資料
unicom_fj
VIP會員
發(fā)短消息
關注Ta
積分 158975
帖子 19406
威望 2811934 個
禮品券 54 個
專家指數(shù) 433
注冊 2006-10-27
專業(yè)方向 IT
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#10
大
中
小
使用道具
發(fā)表于 2009-01-18 13:27:01
已經(jīng)下了,謝謝!
對本帖內(nèi)容的看法?
我要點評
[
2分鐘擁有VIP權限和充足威望,可下載站內(nèi)任何資料
] [
快速找到一份高薪的通信行業(yè)職位
]
GEEYI
金牌會員
發(fā)短消息
關注Ta
積分 5496
帖子 243
威望 13657 個
禮品券 64 個
專家指數(shù) 12
注冊 2008-5-5
專業(yè)方向 信息
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#11
大
中
小
使用道具
發(fā)表于 2009-07-24 15:57:00
看不懂 哦
對本帖內(nèi)容的看法?
我要點評
熱點:
通信招聘職位
|
網(wǎng)絡優(yōu)化全集
|
WCDMA精品
|
TD-SCDMA學習資料
|
EVDO
|
MGW媒體網(wǎng)關資料
ipseno
版主
發(fā)短消息
關注Ta
積分 6989
帖子 873
威望 13420 個
禮品券 610 個
專家指數(shù) -75
注冊 2008-3-24
專業(yè)方向 網(wǎng)絡優(yōu)化
回答問題數(shù)
0
回答被采納數(shù)
0
回答采納率
0%
#12
大
中
小
使用道具
發(fā)表于 2013-12-29 16:44:17
QUOTE:
原帖由
CAMYP
于 2008-7-26 12:32:36 發(fā)表
禁止純表情灌水
對本帖內(nèi)容的看法?
我要點評
[
2分鐘擁有VIP權限和充足威望,可下載站內(nèi)任何資料
] [
快速找到一份高薪的通信行業(yè)職位
]
討論帖
資料帖
投票帖
懸賞帖
快速回復主題
標題
[經(jīng)驗] 轉載-用DLL封裝VBA" tabindex="1">
內(nèi)容
上傳資料請點左側【添加附件】
(勾選中文件為要刪除文件)
DLL調(diào)用示例.rar
您即將訪問其它網(wǎng)站
關閉
您即將訪問的地址是其它網(wǎng)站的內(nèi)容,MSCBSC將不再對其安全性和可靠性負責,請自行判斷是否繼續(xù)前往
繼續(xù)訪問
取消訪問,關閉
當前時區(qū) GMT+8, 現(xiàn)在時間是 2025-02-02 15:35:05
渝ICP備11001752號
Copyright @ 2006-2016 mscbsc.com
本站統(tǒng)一服務郵箱:mscbsc@163.com
Processed in 0.860238 second(s), 44 queries , Gzip enabled
TOP
清除 Cookies
-
聯(lián)系我們
-
移動通信網(wǎng)
-
移動通信論壇
-
通信招聘網(wǎng)
-
Archiver