挺郁悶的,今天在matlab中使用notebook,想著在office中間直接使用公式計(jì)算并做筆記,但是在matlab中打notebook,結(jié)果在word里顯示無法加載VBE6EXT.OLB,然后是顯示需要在declare中更改ptrSafe之類的...balabala。
在網(wǎng)上找了很多方法:
1.說可以直接在office的安裝目錄下(C:\Program Files (x86)\Common Files\Microsoft Shared\VBA)有VBA6的目錄,只要把目錄中的VBE6.Dll放在VBA7文件夾下面就可以。
2.有說的是,根據(jù)office安裝目錄(C:\Program Files (x86)\Microsoft Office\Office15\)下找到STARTUP文件夾,找到里面的一個(gè)文件MathType Commands 6 For Word ...這個(gè)文件并刪除,但是我的安裝目錄下office15下沒有STARTUP這個(gè)文件夾,所以這個(gè)對我來說也解決不了問題。
3.也有說“VBE6EXT.OLB 不能被加載”,“內(nèi)存溢出”,可以使用打開注冊表(HKEY_CLASSES_ROOT\TypeLib\{0002E157-0000-0000-C000-000000000046}\5.3\0\win32 ),然后找到對應(yīng)的數(shù)據(jù)的目錄(C:\Users\Administrator\AppData\Local\Kingsoft\WPS Office\9.1.0.4953\office6\),在Kingsoft下面添加子目錄WPS Office\9.1.0.4953\office6\VBE6EXT.OLB
可能不同的環(huán)境會(huì)有不同的狀況,可以依照自己的電腦情況,分別試一試。
其實(shí)按照最后一種方法將注冊表打開后,發(fā)現(xiàn)這個(gè)路徑其實(shí)是WPS的安裝注冊路徑,所以果斷將路徑改成了C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA7\VBE6EXT.OLB再啟動(dòng)office,正常使用宏VBA了,
可以在matlab中敲notebook回車,會(huì)自動(dòng)調(diào)到word,在代碼編輯區(qū)會(huì)有很多代碼,其中有幾行代碼是:
1 Private Declare Function WinHelp Lib 'USER32.DLL' Alias 'WinHelpA' (ByVal hWnd As Integer, ByVal lpHelpFile _ 2 As String, ByVal wCmd As Integer, ByVal dwData As String) As Integer 3 Private Declare Function GetActiveWindow Lib 'USER32.DLL' () As Integer
只要在每段代碼的“Private Declare ”后面加上PtrSafe 即可運(yùn)行!
如下代碼:
1 Private Declare PtrSafe Function WinHelp Lib 'USER32.DLL' Alias 'WinHelpA' (ByVal hWnd As Integer, ByVal lpHelpFile _ 2 As String, ByVal wCmd As Integer, ByVal dwData As String) As Integer 3 Private Declare PtrSafe Function GetActiveWindow Lib 'USER32.DLL' () As Integer
也可以在word中,按Alt+F11打開VBA,在TemplateProject(m-book模版)中打開 模塊-mwMatlabHelp宏可以看到代碼,也可以更改。
聯(lián)系客服