亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

使用ADD-IN技術(shù)加強(qiáng)VisualBasic開發(fā)環(huán)境

2019-11-18 17:52:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
----VisualBasic5.0是一個(gè)功能強(qiáng)大的集成開發(fā)環(huán)境,它可以自動(dòng)檢查語(yǔ)法錯(cuò)誤,提示編碼員語(yǔ)法格式。這些功能都大大提高了編碼效率??墒撬鳛榭旖蓍_發(fā)工具,它的特點(diǎn)還突出體現(xiàn)在那就是Add-In技術(shù)上。利用它,我們可以強(qiáng)化和定制VB開發(fā)環(huán)境:可以自動(dòng)在所有PRoject中自動(dòng)加入一個(gè)模塊;可以將每個(gè)模塊中的某個(gè)模塊替換成另一個(gè)模塊;可以在程序中查找某段代碼,并將它替換掉;理論上講,我們甚至可以利用該技術(shù)做一個(gè)代碼自動(dòng)生成器。

----Add-In技術(shù)的實(shí)質(zhì)就是VB編程環(huán)境本身做為一個(gè)對(duì)象模型向用戶公開出來(lái),我們可以將一個(gè)模塊、一段代碼做為一個(gè)操作對(duì)象來(lái)修改、優(yōu)化。下面,我們通過(guò)一個(gè)實(shí)例來(lái)介紹Add-In技術(shù)的使用。

----例如,你想將程序中的這樣一段代碼:

dimnIndexasinteger
nIndex=cStr(vsFlex.Text)
替換為:
dimsIndexasstring
sIndex=Spread.text

----包括Word在內(nèi)的大多數(shù)編輯軟件都不包括多行查找替換功能,VB5.0的編輯器也不例外,怎么辦呢?

----1、打開VB,在選擇Project類型時(shí)選擇"AddIn"。這樣,我們就打開了一個(gè)名叫MyAddin的Project。將Project名稱改為你希望的名字,如"Test"。

----2、打開Addin.bas,你發(fā)現(xiàn)有一個(gè)AddToIni的子程序:

SubAddToINI()
DimErrCodeAsLong
ErrCode=WritePrivateProfileString("Add-Ins32","Myaddin.Connect","0","vbaddin.ini")
EndSub

----在Windows的目錄下,有一文件叫vbaddin.ini,每次VB啟動(dòng)時(shí)將根據(jù)該文件的設(shè)置確定有那些可用的AddIn程序。AddToIni的功能實(shí)際就是將當(dāng)前的程序注冊(cè)到vbaddin.ini。修改"Myaddin.Connect"為"Test.Connect",使之與當(dāng)前的Project名稱對(duì)應(yīng)。

----3、在Immediate窗口執(zhí)行AddToIni,完成對(duì)當(dāng)前Addin的注冊(cè)。

----4、打開Connect.cls,在變量聲明區(qū)有:ImplementsIDTExtensibility

----IDTExtensibility是VB和AddIn程序交互的Interface。當(dāng)VB在Addin菜單選AddIdManager,并參照當(dāng)前的Addin程序"Test"時(shí),OnConnect事件就會(huì)觸發(fā),IDTExtensibility_OnConnection()程序?qū)⒈粓?zhí)行。在如下行設(shè)置斷點(diǎn):

----Debug.PrintVBInst.FullName

----運(yùn)行當(dāng)前程序。

----5、啟動(dòng)另外一個(gè)VB例程,生成StandardEXE,名叫Project1。從Addin菜單選AddinManager,我們得到一個(gè)列表,我們選擇MyAddin并返回。這時(shí),Test被啟動(dòng)并停在

----Debug.PrintVBInst.FullName

----注意,VBInstance(VBInst)就是指使用該Addin的VB的集成開發(fā)環(huán)境(VBEObject)。我們可以它做為一個(gè)對(duì)象來(lái)操作。VBEObject包含VBProjects,每個(gè)VBProject包含Vbcomponents,每個(gè)VBComponet對(duì)應(yīng)一個(gè)模塊,每個(gè)Form,Class,或Module。

----6、我們?cè)赥est的立即窗口執(zhí)行:

----?VBInstance.ActiveProject.Name

----可以得到Project1的名稱。

----?VBInstance.ActiveProject.VBComponent(0).Name

----可以得到Project1的第一個(gè)模塊Form1的名稱。

----到此為止,我們已經(jīng)基本說(shuō)明了AddIn的技術(shù)內(nèi)涵。剩下的工作就很容易理解了。

----7、在Project1的AddinManager中,將MyAddin去掉。

----8、再修改Test,打開frmAddin,將

PrivateSubOKButton_Click()
MsgBoxVBInstance.FullName
EndSub
改為:
PrivateSubOKButton_Click()
CallmReplace()
EndSub

PrivateSubmReplace()
DimoProAsVBProject
DimoComAsVBComponent
DimbFindAsBoolean
DimnFindLineasinteger
DimnfindColasinteger

Screen.MousePointer=vbHourglass
OnErrorGoToerrmReplace

SetoPro=VBInstance.ActiveVBProject

'檢查程序是否已保存
IfoPro.FileName=""ThenMsgBox"請(qǐng)先保存!";ExitSub

ForEachoComInoPro.VBComponents
bFind=True
DoWhilebFind
'查找要替換的代碼段
bFind=oCom.CodeModule.Find("dimnIndexasinteger",nFindLine,nfindCol,oCom.CodeModule.CountOfLines,500,True
IfbFindThen
IfoCom.CodeModule.Lines(nFindLine 1,1)="nIndex=cStr(vsFlex.Text)"
'找到后替換
oCom.CodeModule.ReplaceLine
nFindLine,"dimsIndexasstring"
oCom.CodeModule.ReplaceLine
nFindLine 1,"sIndex=Spread.text"
Else
bFind=false
EndIf
EndIf
Loop
NextoCom

Screen.MousePointer=vbDefault
ExitSub

errmReplace:
Beep
Screen.MousePointer=vbDefault
MsgBox"ERROR!"
EndSub

----9、我們?cè)偈筎est進(jìn)入運(yùn)行狀態(tài)。

----10、我們?cè)僦貜?fù)第五步,會(huì)在Project1的Addin菜單中多一項(xiàng)"MyAddin"。我們?cè)赑roject1中加入一些要替換的代碼,然后執(zhí)行MyAddin,替換工作就會(huì)完成。

----11、有朋友不希望在Addin菜單出現(xiàn)"MyAddin"字樣,而是具有更明確含義的標(biāo)識(shí),如"替換"。改動(dòng)Test的ConnectClass----IDTExtensibility_OnConnection(),將

SetmcbMenuCommandBar=AddToAddInCommandBar("MyAddIn")
改為SetmcbMenuCommandBar=AddToAddInCommandBar("替換")
如果你想將AddinManager中的MyAddin改為
"Replace",可用notepad打開Connect.cls,將:AttributeVB_Descr
----以上介紹地只是AddIn技術(shù)的一個(gè)簡(jiǎn)單應(yīng)用,了解其機(jī)理后,大家可根據(jù)需要做出自己的工具。對(duì)于一些專業(yè)的應(yīng)用軟件開發(fā)商來(lái)說(shuō),積累越多的AddIn工具,便可以大大提高編碼效率。->


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美老女人性视频| 国产欧美日韩第一页| 国产日韩亚洲欧美精品| 亚欧无线一线二线三线区别| 亚洲色图在线视频| 国产二级片在线观看| 精品美女久久久久久免费| 国产精品电影一区二区| 波多野在线播放| 亚洲欧美成人在线| 国产夫妻自拍一区| 91精品国产日韩91久久久久久| 国产精品一区二区久久不卡| 日韩av二区在线播放| 国模私拍一区二区三区| 日韩a在线播放| 免费在线观看的黄色网址| 国产在线视频网址| eeuss中文字幕| 国产草草影院ccyycom| 青青草原国产在线| 亚洲国产欧美不卡在线观看| 免费无遮挡无码永久视频| 91香蕉视频在线下载| 日韩欧美高清一区二区三区| 久久久久久夜| 精品51国产黑色丝袜高跟鞋| av黄色在线观看| 亚洲av无码国产精品久久不卡| 国产妇女馒头高清泬20p多| 亚洲蜜桃在线| 91免费精品视频| 国产一区三区三区| 国产欧美激情视频| 亚洲1区在线观看| 91香蕉视频在线下载| 337p日本欧洲亚洲大胆精品| 成人免费视频在线观看| 欧美日韩一区二区免费在线观看| 老妇女50岁三级| 美女网站久久| 久久全国免费视频| 无码人妻丰满熟妇区五十路百度| av影视在线看| 国产精品毛片aⅴ一区二区三区| 日韩精品亚洲一区二区三区免费| 九九色在线观看| 7777精品伊人久久久大香线蕉的| 99久久精品国产一区二区三区| 在线午夜视频| 亚洲人精品一区| 日韩中文字幕免费| 欧美日韩视频免费播放| 亚洲欧美小说色综合小说一区| 精品黄色免费中文电影在线播放| 91精品国产成人www| 亚洲精品成人一区| 亚洲最黄网站| 欧美这里有精品| 91社区在线观看播放| 精品中文字幕视频| 超碰在线资源站| 宅男在线一区| 成人18视频免费69| 欧美成人自拍视频| 老熟妇仑乱一区二区av| 中文字幕va一区二区三区| 奇米影视第四色777| 成年人视频在线网站| 激情小说亚洲色图| 天堂а√在线官网| 麻豆av资源| 亚洲第一在线视频| 成人影院在线观看| 国产女人18水真多18精品一级做| 一区二区三区日韩精品| 成年人三级视频| 国产91久久久| 91黄色在线| 欧美色视频日本高清在线观看| 中文字幕日本乱码精品影院| 91视频福利网| 亚洲一区二区中文| 欧美日韩激情视频一区二区三区| 亚洲国产精品一区二区第四页av| 欧美国产三区| 欧美视频在线观看| 女人让男人操自己视频在线观看| 一本一道久久a久久精品| 毛片基地一级大毛片| 国产福利视频一区| 国产艳妇疯狂做爰视频| 成人av电影在线| 久久久久久国产精品美女| 日本一二区免费| 日本三日本三级少妇三级66| 日本三级电影在线看| 亚洲美女动态图120秒| 欧美日韩1区| 91在线精品一区二区| 日韩中文字幕欧美| 中日韩美女免费视频网址在线观看| 91在线精品一区二区| 久久久久国产精品视频| 欧美专区一区| 在线天堂新版最新版在线8| 久久久精品视频在线观看| 中文字幕在线观看播放| 色国产精品一区在线观看| 在线观看的网站你懂的| 中文字幕精品www乱入免费视频| xxx成人少妇69| 变态另类丨国产精品| www.中文字幕久久久| 91看片就是不一样| 人人妻人人澡人人爽久久av| 国内一区二区三区| 中文字幕自拍vr一区二区三区| 亚洲天天做日日做天天谢日日欢| 国产超级va在线视频| 久久久久成人精品免费播放动漫| 国产www.大片在线| 久久午夜夜伦鲁鲁一区二区| 亚洲第一福利社区| 国产午夜福利在线播放| 六月婷婷综合| 污污视频免费看| 欧美精品黑人猛交高潮| 亚洲国产成人91porn| 2023国产精品| 国产精品乱子乱xxxx| 日本怡春院一区二区| 另类天堂视频在线观看| 美女写真久久影院| 国产成人在线亚洲欧美| 婷婷久久综合九色综合99蜜桃| а√天堂8资源中文在线| 国产天堂视频在线观看| 国产精品尤物视频| 青草青青国产| 四虎在线免费视频| 久久久久久这里只有精品| av网址在线观看免费| 五月婷婷六月激情| 91精品婷婷国产综合久久| 亚洲熟女毛茸茸| 久久久精品国产一区二区| 国产精品9区| 国产精品91久久久| 在线观看你懂| 中文字幕佐山爱一区二区免费| 国产野外战在线播放| 国产女人精品视频| 欧美中文一区二区| 最近高清中文在线字幕在线观看| 国产精品福利片| 国产成人精品电影久久久| 国产亚洲字幕| 免费的国产精品| 免费观看30秒视频久久| 美女黄色免费看| www.成人精品免费网站青椒| 欧美一级大黄| 精品人妻无码一区二区三区蜜桃一| 日本一区精品| 男女下面一进一出无遮挡| 久久综合免费视频影院| 另类色图亚洲色图| 先锋影音在线播放av| 国产青青视频| 欧美精品久久久久久久免费| 日本a级片久久久| 久久91超碰青草在哪里看| 91精品产国品一二三产区| 青青视频在线观| 男女视频一区二区三区| 头脑特工队2免费完整版在线观看| 韩国三级在线播放| 成人日韩欧美| 99只有精品| 精品不卡一区二区三区| 欧美精品在线视频| 成人激情小说网站| 国产日韩精品一区二区三区| 欧美1区2区| av综合在线播放| 亚洲二区av| 亚洲欧美成人一区二区在线电影| 伊色综合久久之综合久久| 国产乱视频在线观看| 久久久精品影院| 亚洲理论在线| 亚洲精品一区国产| 欧美日韩国产不卡在线看| 精品嫩草影院久久| 91九色丨porny丨肉丝| 国产精品久久久久四虎| 国产av人人夜夜澡人人爽麻豆| 黄页网站在线观看| 黄色精品一区| 亚洲国产视频一区| 亚洲欧美中文字幕| 尤物yw午夜国产精品视频明星| 国产suv精品一区二区三区| 亚洲欧美春色| 中文字幕在线一区免费| 国产精品毛片aⅴ一区二区三区| 伊人影院在线观看| 日韩免费网站| 亚洲欧美一区二区三区| 国产视频网站在线| 久久精品国产一区二区电影| 日韩女优av电影| 国产亚洲欧美色| 一级久久久久久| 91社区在线| 亚洲国产精品成人久久蜜臀| 午夜精品一区二区在线观看的| 日韩视频一区二区三区| 日本女人性生活视频| 精品国产乱码久久久久久88av| 懂色av蜜臀av粉嫩av喷吹| 天天干在线观看| 成人小视频在线看| 精品国产大片大片大片| 国内综合精品午夜久久资源| 偷拍精品一区二区三区| 午夜精品亚洲一区二区三区嫩草| 久久精品久久久久久| 日韩在线中文字幕| 另类专区欧美制服同性| 免费av网站在线播放| 亚洲图片都市激情| 你微笑时很美电视剧整集高清不卡| 日韩精选在线观看| 欧美激情中文网| 久久精品五月| 中文字幕中文字幕一区二区| 亚洲a一区二区三区| 30一40一50老女人毛片| 欧美成人亚洲成人日韩成人| 久久久久国产精品午夜一区| 精品一区二区在线看| 日本高清成人vr专区| 热re99久久精品国产66热| 欧美绝顶高潮抽搐喷水合集| 午夜亚洲福利| 在线综合视频网站| **性色生活片久久毛片| 51国偷自产一区二区三区| 屁屁影院ccyy国产第一页| 亚洲深夜福利网站| 99热一区二区三区| 欧美一区二区在线观看视频| 在线观看三级视频| 999这里只有精品| 国产极品一区二区| 成人黄色国产精品网站大全在线免费观看| 99久久婷婷国产综合精品电影| 91制片厂毛片| 韩国精品一区二区| 日本黄色片在线播放| 亚洲熟女一区二区| 亚洲乱妇老熟女爽到高潮的片| 影音先锋亚洲精品| 视频一区视频二区中文| 欧美激情 一区| 国产精品免费视频xxxx| 九九热在线视频观看这里只有精品| 国产高清在线观看| 国产嫩草影院久久久久| 成人av蜜桃| 1204国产成人精品视频| 污污的网站18| av最新在线观看| 欧美午夜性色大片在线观看| 国产日韩一区二区在线观看| 精品无人码麻豆乱码1区2区| 激情综合网五月天| 天堂中文字幕在线| 亚洲 欧美 自拍偷拍| 伊人久久久大香线蕉综合直播| 亚洲人成伊人成综合网久久久| 久久亚洲专区| 久久午夜宅男免费网站| 精品成人无码久久久久久| 久操视频在线播放| 懂色av影视一区二区三区| 高清精品视频| 中文字幕12页| 天天摸天天干天天操| 中文字幕亚洲自拍| 免费毛片一区二区三区久久久| 色香欲www7777综合网| 少妇伦子伦精品无吗| 国产精品无码久久av| 欧美激情国产精品免费| 国产精品美女在线播放| 色屁屁一区二区| 亚洲自拍另类欧美丝袜| 日本一卡二卡在线| 中文字幕av在线免费观看| 韩国av在线免费观看| 亚洲最大最好的私人影剧院| 久久青草久久| 国产激情一区二区三区四区| 成人午夜高潮视频| 亚洲不卡在线观看| 成年人在线免费观看视频网站| 韩国三级hd中文字幕有哪些| www.偷拍.com| 亚洲成人a**址| 亚洲福利在线视频| 免费网站成人| 亚洲乱熟女一区二区| 欧美日韩亚洲一区三区| 亚洲av无码一区二区二三区| 岛国av午夜精品| 久久久青草婷婷精品综合日韩| 精品久久久久一区二区三区| 欧美色中文字幕| 男人操女人在线观看| 一区二区免费在线播放| 国产一区二区三区蝌蚪| 熟妇人妻中文av无码| 黄网站在线观看永久免费| 在线一区二区观看| 伊人久久精品一区二区三区|