久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

定了,!VBE2021開源

 VBA說 2021-09-16

一、序言

VBE2021為開源工程,,使用者可在源工程代碼基礎(chǔ)上,,修改、完善,、擴(kuò)展,。

有參與完善的作者,插件最終發(fā)布會(huì)以作者名單形式列出,。參與者可申請權(quán)限,,修改本文檔。

二,、工程文件說明

 整體思路及調(diào)試

新建dll動(dòng)態(tài)鏈接庫工程,,利用IDTExtensibility2接口,實(shí)現(xiàn)對VBE的二次開發(fā),。

打開工程調(diào)試,,需要注冊dll(詳見本文檔2.4.1內(nèi)容),并且啟用外部Excel或者其他程序,。

               

2.1 窗體部分

2.1.1 CodeFrom.vb

               

主要功能:

  • 展示自定義代碼庫路徑下的代碼庫文件,。代碼庫以txt形式存儲(chǔ),窗體加載過程,,自動(dòng)讀入TreeView控件,。

  • 用戶可在窗體上操作TreeView控件,來修改,、擴(kuò)充自己的代碼庫,。

  • 可直接將代碼插入到當(dāng)前的VBE代碼編輯界面。

2.1.2 CodeList.vb

窗體對應(yīng)于:智能提示功能

               

主要功能:

  • 用戶輸入空格之后,,利用鍵盤鉤子,,調(diào)取CodeList窗體。窗體加載過程中,,對用戶當(dāng)前行的數(shù)據(jù)進(jìn)行模糊查詢,,滿足條件的寫入ListBox。

  • 左側(cè)是Listbox,,右側(cè)是RichTextBox控件,,用來展示詳細(xì)內(nèi)容。

  • CodeList窗體讀取的代碼來自于,,安裝路徑下的CodeList.xlsx,。

bug需解決:

  • 窗體彈出之后,按方向鍵無法實(shí)現(xiàn),,listbox的上下選取。只能光標(biāo)滑動(dòng)選取,。

  • 無法利用快捷鍵實(shí)現(xiàn)開關(guān)智能提示功能

2.1.3 IniForm.vb

主要功能:

  • 展示配置信息選項(xiàng),,配置信息存儲(chǔ)在代碼安裝路徑下的配置.ini


2.1.4 author.vb

主要功能:

  • 展示作者信息,,后續(xù)參與者的信息也會(huì)再此展示,。


2.1.5 UpdateForm.vb

主要功能:

  • 展示qq群信息,目前只能實(shí)現(xiàn)手動(dòng)去qq群下載軟件,,后期想實(shí)現(xiàn)在線下載更新,。

2.2 模塊部分

2.2.1 Varaint.vb

存儲(chǔ)各類變量、常量,、API函數(shù)


2.2.2 IndentCode.vb和RebuildModuleCode.vb

代碼美化縮進(jìn)的核心代碼,。

2.2.3 Connect.vb

利用IDTExtensibility2接口,實(shí)現(xiàn)VBE菜單的加載,。頂部菜單,、按鈕、右鍵菜單等等代碼均在此,。

接口的實(shí)現(xiàn)方式以及菜單的添加,,參考網(wǎng)址:

https://www./articles/2012/MZ2012013.aspx

https://www./articles/2012/MZ2012015.aspx

其中,_myToolBarButton_Click點(diǎn)擊事件是所有的點(diǎn)擊觸發(fā)的事件。

2.3 添加引用部分

               

2.3.1 Ude

識(shí)別txt編碼形式,,解決讀取txt內(nèi)容亂碼問題,。

2.3.2 VBE相關(guān)

引用VBE相關(guān)類庫,實(shí)現(xiàn)VBE對象的操作,。

2.4 打包注冊部分

實(shí)現(xiàn)插件的加載有2步:①注冊dll,;②導(dǎo)入VBE加載項(xiàng)的注冊表。

注冊dll是利用RegAsm.exe去注冊,。

2.4.1 手動(dòng)注冊方式

如果是手動(dòng)加載和卸載插件,,需要手動(dòng)運(yùn)行下面的文件,并且是管理員身份運(yùn)行,。

兩個(gè)文件:RegAsm.bat和RegAddIn.reg

RegAsm.bat






@ECHO OFFset dll="VBE2021.dll"%SystemRoot%"\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" /codebase %~dp0\%dll%%SystemRoot%"\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" /codebase %~dp0\%dll%exit

RegAddIn.reg














Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\VBA\VBE\6.0\Addins\VBE2021.Connect]"FriendlyName"="VBE2021""Description"="VBE2021""LoadBehavior"=dword:00000003"CommandLineSafe"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\VBA\VBE\6.0\Addins64\VBE2021.Connect]"FriendlyName"="VBE2021""Description"="VBE2021""LoadBehavior"=dword:00000003"CommandLineSafe"=dword:00000000

2.4.2 手動(dòng)卸載方式

兩個(gè)文件:RegAsm.bat和RegAddIn.reg

UnRegAsm.bat







@ECHO OFFset dll="VBE2021.dll"%SystemRoot%"\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" /codebase %~dp0\%dll% /u%SystemRoot%"\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" /codebase %~dp0\%dll% /uPAUSECLS

RegAddIn.reg






Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\VBA\VBE\6.0\Addins\VBE2021.Connect]
[-HKEY_CURRENT_USER\Software\Microsoft\VBA\VBE\6.0\Addins64\VBE2021.Connect]

2.4.3 Innosetup打包直接注冊和卸載

innosetup可實(shí)現(xiàn)注冊表的寫入和dll的直接注冊,。

源代碼如下:


















































































#define MyAppName "VBE2021"#define MyAppVerName "VBE2021"
[Setup]AppName={#MyAppName}AppVerName={#MyAppVerName}//版本號(hào)AppVersion=1.3VersionInfoProductName=VBE2021DefaultDirName= "d:\VBE2021"//禁止用戶選擇安裝路徑DisableDirPage=noDisableProgramGroupPage=yesDefaultGroupName=VBE2021OutputDir=.SetupIconFile=B.icoOutputBaseFilename=VBE2021WindowShowCaption=noDisableWelcomePage=no//PrivilegesRequired=admin ArchitecturesInstallIn64BitMode = x64 ia64 //控制面板卸載界面圖標(biāo)UninstallDisplayIcon= {app}\B.ico
//發(fā)布者名稱 AppPublisher=作者:燈[code]procedure InitializeWizard();begin WizardForm.LICENSEACCEPTEDRADIO.Checked:=true;end;

[Messages]SetupWindowTitle=VBE2021 安裝向?qū)?/code>ClickNext=為確保本軟件能一次安裝成功,,請盡可能先關(guān)閉360或者電腦管家、金山毒霸之類,,然后再安裝本軟件,。%n%n%n%n請確保安裝路徑不能有空格!,!%n%n請確保安裝路徑不能有空格?。?n%n請確保安裝路徑不能有空格??!
[Languages]Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
[Icons]Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
[Files]Source: "C:\Users\WangYa\Desktop\VBE2021\VBE2021\bin\Debug\Code\*.*"; DestDir: "{app}\Code"; Flags: recursesubdirsSource: "C:\Users\WangYa\Desktop\VBE2021\VBE2021\bin\Debug\Data\*.*"; DestDir: "{app}\Data"; Flags: recursesubdirsSource: "C:\Users\WangYa\Desktop\VBE2021\VBE2021\bin\Debug\VBE2021.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "C:\Users\WangYa\Desktop\VBE2021\VBE2021\bin\Debug\B.ico"; DestDir: "{app}"; Flags: ignoreversionSource: "C:\Users\WangYa\Desktop\VBE2021\VBE2021\bin\Debug\Ude.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "C:\Users\WangYa\Desktop\VBE2021\VBE2021\bin\Debug\RegAsm.bat"; DestDir: "{app}"; Flags: ignoreversion

[Registry] Root: HKCU; Subkey: "Software\Microsoft\VBA\VBE\6.0\Addins\VBE2021.Connect"; ValueType: string; ValueName: "FriendlyName"; ValueData: "VBE2021" Root: HKCU; Subkey: "Software\Microsoft\VBA\VBE\6.0\Addins\VBE2021.Connect"; ValueType: string; ValueName: "Description"; ValueData: "VBE2021" Root: HKCU; Subkey: "Software\Microsoft\VBA\VBE\6.0\Addins\VBE2021.Connect"; ValueType: dword; ValueName: "LoadBehavior"; ValueData: 3Root: HKCU; Subkey: "Software\Microsoft\VBA\VBE\6.0\Addins64\VBE2021.Connect"; ValueType: string; ValueName: "FriendlyName"; ValueData: "VBE2021" Root: HKCU; Subkey: "Software\Microsoft\VBA\VBE\6.0\Addins64\VBE2021.Connect"; ValueType: string; ValueName: "Description"; ValueData: "VBE2021" Root: HKCU; Subkey: "Software\Microsoft\VBA\VBE\6.0\Addins64\VBE2021.Connect"; ValueType: dword; ValueName: "LoadBehavior"; ValueData: 3[Code] //此代碼的功能:在出現(xiàn)安裝界面之前彈出一個(gè)提示框,告之用戶一些必要的信息function InitializeSetup(): Boolean;begin Log('InitializeSetup called'); Result := true
end;
//此代碼的功能:卸載插件時(shí)清除注冊表痕跡procedure CurUninstallStepChanged (CurUninstallStep: TUninstallStep );beginRegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Microsoft\VBA\VBE\6.0\Addins\VBE2021.Connect');RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Microsoft\VBA\VBE\6.0\Addins64\VBE2021.Connect');

end;[RUN] //Filename: "{dotnet40}\RegAsm.exe"; Parameters: /codebase VBE2021.dll; WorkingDir: {app}; StatusMsg: "正在注冊..."; Flags: skipifsilent shellexec runminimized waituntilterminated //Filename: {app}\RegAsm.bat; Description: "BAT"; Flags: skipifsilent shellexec runhidden nowait postinstallFilename: "{app}\RegAsm.bat"; WorkingDir: "{app}\"; StatusMsg: "正在安裝注冊組件..."; Parameters: {app}; Flags: skipifsilent shellexec runminimized waituntilterminated

但是dll的直接注冊我一直沒成功,,所以目前打包的時(shí)候把RegAsm.bat也打包進(jìn)去了,,安裝插件的時(shí)候,直接運(yùn)行RegAsm.bat實(shí)現(xiàn)間接注冊,。

三,、插件使用說明

3.1 安裝

               

               

               

               

3.2 代碼輔助錄入

3.1.1 菜單錄入代碼

               

3.1.2智能提示錄入代碼

輸入完部分關(guān)鍵字,按空格鍵,。即可彈出智能提示,。

智能提示可在配置中進(jìn)行關(guān)閉。

               

               

3.3 代碼美化縮進(jìn)

               

               

3.4 代碼庫存儲(chǔ)修改

               

               


    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多