簡體   English   中英

Win32::OLE::Const->Load('Microsoft Excel'); 取決於 Excel 版本

[英]Does Win32::OLE::Const->Load('Microsoft Excel'); depends on Excel version

我在 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

我還在第一台機器上打印了scalar(keys %{$xl} ,它給出了 2023,在第二台機器上它是 0!

此致

搜索后我找到了解決方案。

它在第二台機器中給出 0,因為注冊表中沒有 win32 Excel 鍵。

解決方案是在HKEY_CLASSES_ROOT\\TypeLib\\{00020813-0000-0000-C000-000000000046}\\1.8\\0\\

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM