在32位WIN7和64位Win10操作系统之间运行VBA(32位v 6.5)运行速度问题

时间:2018-09-09 09:01:21

标签: excel vba

我在具有2.1 GHZ intel cpu的32位Windows 7 pro便携式计算机上创建了一个32位excel 2007 vba(6.5)程序。该程序使用两个Windows API,它们声明如下:

Public Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) 
Public Declare Function GetTickCount Lib "kernel32" () As Long 

该程序实质上是在While循环中运行For循环,并使用两个Windows API在每个循环后的150 ms暂停。

该程序在32位笔记本电脑上完美运行,没有任何问题。但是,当我尝试在装有Windows10 Pro 64位操作系统和Xeon 4核心,2,9GHz,3,8GHz Turbo cpu和MUCH FASTER笔记本电脑的Dell笔记本电脑上运行该程序时,该程序在一开始的启动速度较慢,然后加速到正常,然后在最后再次减速。

有人知道导致此问题的原因吗? 为什么会出现此问题以及如何解决。我能想到的唯一原因是由于OS中32/64位的差异,还是API声明造成的。

Sleep API用于在每个While循环之后暂停20毫秒,而GetTickCount API用于在每个For循环之后暂停150毫秒。

0 个答案:

没有答案