我在perl中使用Win32::OLE::Const->Load()
:
$xl = Win32::OLE::Const->Load('Microsoft Excel');
然后我测试scalar(keys %{$xl})
是否为零:
if (scalar(keys %{$xl})==0) {
return False;
}
else {
return True;
}
[我在支持Microsoft Excel 2003的计算机上测试了此代码,它给出了True
,但是当我在有Microsoft Excel 2013的计算机中测试了相同的代码时,它给出了False
!
我还在提供2023的第一台机器上打印了scalar(keys %{$xl}
,在第二台机器上是0!
最佳问候
搜索后,我找到了解决方法。
它在第二台计算机中给出0,因为在注册表中没有win32 Excel密钥。
解决方案是在HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.8\0\
中添加Win32键