我使用的是Win8 x64 + Office 2013 x64.
我有一个excel文件,其中包含一些模块,并在Office(Excel)x86中完美运行.它使用Swiss Ephemeris文件(swedll32.dll)进行大量的天文计算.
但是,当我尝试在Excel x64上运行它时,ASAP它已打开,VBA编辑器启动并给我以下错误:
Compile error:
The code in this project must be updated for use on 64-bit systems.
Please review and update Declare statements and then mark them with the PtrSafe attribute.
Run Code Online (Sandbox Code Playgroud)
正如我上面所说,它只适用于32位办公室(Excel),但它不能在我的x64 Excel中工作但是似乎有一个解决方法,但我太过新手了.
我不喜欢VBA,但是,在通过互联网挖掘后,一些网站建议对于64位办公室(Excel),我们应该修改(对于每个声明)代码到这样的:
不幸的是,在各处添加' PtrSafe ' 之后,尽管VBA错误已停止,但未在单元格中正确显示/计算值.
从微软VBA的64位帖子来看,似乎我们还需要修改一些数据类型,例如:
这个网站(在"Who Longs应该成为LongPtr?"下)提供了一个线索,关于如何知道要修改哪一个.
我不明白它的事情,并且不知道应该做些什么才能在Office(Excel)x64中完成这项工作.对此非常擅长的人,请帮助我.请.
注意:
模块名称中的问题:MainCalculations
'Swiss Ephemeris Release 1.60 9-jan-2000
'
' Declarations for …Run Code Online (Sandbox Code Playgroud)