導航:首頁 > 源碼編譯 > VBA逐句編譯器

VBA逐句編譯器

發布時間:2023-03-24 12:36:24

㈠ EXCEL VBA 的編譯器是不是能同時控制所有OFFICE程序

不是的,EXCEL
VBA
和WORD
VBA
程序語言有很大不同.
例如:word的
Dim
axlsAs
excel.Application,
a1
As
excel.Document
Set
axls
=
CreateObject("excel.application")
Set
a1=
axls.Documents.Open(Filename:="G:\第一段.xls",
Visible:=False)
Documents
這個與Excel就有很大不同。
你的問題比較深奧,可能需要更權威人士解決.
我建議你去http://club.excelhome.net
這里看看,這裡面VBA高手很多。
希望你能早日解決問題:)

㈡ excel2010 打開VBA編譯器時,不顯示代碼界面,並且左側不顯示當前excel文件夾,卸載重裝也不管用

不遲察需要重裝啊升雀
VBA窗口裡,動動滑鼠:
視圖--代碼窗口
視圖--工程資源管理碼笑茄器

㈢ vb怎麼做個vb編譯器

如果你要自己做程序編譯的話很難,就算調用c2.exe和link.exe也沒用,因為VB

在調用之前已經在臨時目錄下生成了一堆看不懂的東西。

但你可以調用VB主程序的命令行來生成程序,如你要生成的程序在D盤根目錄,工程文件為

1.vbp那你可以在CMD里打VB6.exe /make D:\1.vbp

具體的可以參照VB6.exe /?

附:

VB的編譯過程大致如下,當我們在編輯環境中編寫完代碼後,VB調用C2將所有的模塊(包括CLASS)編譯成OBJ文件(能夠為機器語言識別的代碼)。一下是C2的一些編譯參數說明(E文):

- the the name of the prefixed one used for the names of the rowscontaining ' precompilato', one

risen of intermediate tails (from which name of the switch) temporary; these rows are 5 and finish withi suffissi GL, SY, FORMER, IN and DB; they contained are not documented

- f the name of the rows to compile

- W3 warning level 3, level of ' attenzione' dedicating to i warnings

- Gy it qualifies the connection to level of function (function-level linking)

- G5 optimization for the Pentium

- Gs4096 it allows not to insert the code for the control of stack (stack probe) if a function does not

use more than 4096 byte of stack

- dos not documented

- Z1 it removes the name of the bookcase of default from the rows.OBJ

- Fofileobj the name of rows OBJ to generate (rows output)

- Qifdiv it puts in action the corrections for the bug of the division of the Pentium (FDIV bug)

- MILILITER it creates rows eseguibile single-threaded

- basic it indicates the compiler C2 the fact that the compilation it happens for a plan basic

C2完成編譯後,VB會調用LINK.EXE將所有的OBJ文件連接成EXE文件,完成編譯過程。下面是一段命令行演示如何調用LINK.EXE:

LINK C:\Test\Form1.obj C:\Test\Molo1.obj C:\Test\Progetto1.obj C:\Programmi\Microsoft Visual Studio\VB98\VBAEXE6.lib /ENTRY:__ vbaS /OUT:C:\Test\Progetto1.exe /BASE:0x400000 /SUBSYSTEM:WINDOWS, 4.0 /VERSION:1.0 /DEBUG /DEBUGTYPE:CV /INCREMENTAL:NOT /OPT:REF/MERGE:.rdata =.text /IGNORE:4078

對於我們來說這些參數沒有什麼意義,用默認的就行了。這段命令行中並沒有包括輸出函數,如果我們希望輸出函數,可以定義一個.def文件,按照格式加入要輸出的函數列表,然後在命令行後面加上 「/DEF: 文件名」(當然也可以直接加/ EXPORTS參數),再調用命令行編譯,用的denpendency工具查看你就會發現你要輸出的函數了。

Def文件格式的定義:

LIBRARY 程序名稱

DESCRIPTION "MyDLL - (C) Antonio Giuliana, 2004"

EXPORTS

函數名= ?函數名@函數所在模塊名@@AAGXXZ



例:

LIBRARY MyDLL

DESCRIPTION "MyDLL - (C) Antonio Giuliana, 2004"

EXPORTS

DllRegisterServer= ?DllRegisterServer@SymExp@@AAGXXZ

DllUnregisterServer= ?DllUnregisterServer@SymExp@@AAGXXZ

注意:函數名和模塊名是區分大小寫的

我先用Vb編一個截取C2、LINK命令的程序:

C2:
Private Sub Form_Load()
f = UCase$(Left$(Command$, 256))
Open "E:\C2.txt" For Output As #1
Print #1, f
Close
End
End Sub

LINK:
Private Sub Form_Load()
f = UCase$(Left$(Command$, 256))
Open "E:\C2.txt" For Output As #1
Print #1, f
Close
End
End Sub

生成EXE後把VB98下的c2與LINK剪切到別處,在用這兩個程序代替。運行VB6.exe,隨意打開一個工程,點文件菜單,生成EXE。
不久我編的兩個程序就送給我夢寐以求的文件:
E:\C2.txt
-IL "C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\VB381884" -F "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\新建文件夾 (2)\FORM1.FRM" -W 3 -GY -G5 -GS4096 -DOS -ZL -FO"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" -QIFDIV -ML -BASIC

E:\LINK.txt
"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\VBAEXE6.LIB" /ENTRY:__VBAS /OUT:"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.EXE" /BASE:0X400000 /SUBS

這兩個TXT就是VB送給c2以及LINK的命令。
詳細解讀如下:
C2.txt
-IL "C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\VB381884" -F "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\新建文件夾 (2)\FORM1.FRM"是c2准備處理的兩個文件。 -W 3 -GY -G5 -GS4096 -DOS -ZL是c2生成OBJ的格式,後邊則是OBJ文件的地址。

LINK.txt
"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.OBJ"是源文件。"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\VBAEXE6.LIB"是轉換庫。後面是EXE文件地址及格式

㈣ vba 有什麼比較好的ide編譯器么

就visual basic 系列就很好,建議6.0夠了

㈤ 編輯 VBA 宏時出現「編譯器錯誤:必須更新此項目中的編碼以便在 64 位系統上使用」

sleep函數用來掛起整個線程,一般不要使用
推薦使用timer
比如,有三個流程,每個流程間需要等待一定的時間,就這樣寫:

function StartFun()
timer1.tag="1"
timer1.interval=1000 '延時1秒
timer1.enabled=true
end function

function Fun1……

㈥ vba 有什麼比較好的ide編譯器么

VBA編譯器???樓主很搞笑,VBA沒有編譯器,他是解釋執行的,最好的IDE環境是office自帶的 Visual Basic編輯器,就這樣!

閱讀全文

與VBA逐句編譯器相關的資料

熱點內容
安卓中控怎麼安裝應用 瀏覽:82
電影大全鬼片免費收看 瀏覽:147
kanxv5. com/6/ index.php/ 瀏覽:584
看外國電影的網站 瀏覽:18
染島貢演過的電影 瀏覽:79
經典系列動作電影 瀏覽:730
勞拉是哪個電影里的名字 瀏覽:677
天才黑客林凡 瀏覽:514
中國電影票房排行榜實時票房貓眼 瀏覽:287
收母收姐妹 瀏覽:378
一男兩女後面兩女懷孕的番號 瀏覽:555
不需要會員就能看電視劇的網站 瀏覽:427
朝鮮古裝三及片 瀏覽:113
手機怎麼設置不解壓 瀏覽:110
崇石是誰演的 瀏覽:827
免費影視觀看網站入口 瀏覽:877
為什麼伺服器會出現很多藍屏 瀏覽:34
三國種馬收了何皇後 瀏覽:344
思甜APP怎麼樣 瀏覽:525
床戲美國 瀏覽:763