有沒有什麼辦法以編程方式確定.xls是否包含宏,而不實際在Excel中打開它?以編程方式確定Excel文件(.xls)是否包含宏
也有任何方法來檢查哪些證書(包括時間戳證書)這些宏簽名?再次不使用Excel。
特別想知道是否有任何字符串總是出現在Excel文件的原始數據中,當宏存在時。
有沒有什麼辦法以編程方式確定.xls是否包含宏,而不實際在Excel中打開它?以編程方式確定Excel文件(.xls)是否包含宏
也有任何方法來檢查哪些證書(包括時間戳證書)這些宏簽名?再次不使用Excel。
特別想知道是否有任何字符串總是出現在Excel文件的原始數據中,當宏存在時。
是的,你可以打開.xls文件作爲複合文檔文件並檢查是否包含VBA文件夾和包含VBA代碼的流。
示例代碼,請這CodeProject上的文章中:
證書信息存儲在DocumentSummaryInformation流。如果你想讀從那裏出來的信息,你應該深入到Microsoft提供的文件格式規範:
[MS-OSHARED]: Office Common Data Types and Objects Structure Specification
[MS-OFFCRYPTO]: Office Document Cryptography Structure Specification
謝謝,這比我預期的要好,我不知道文件格式是公開可用的! – 2010-06-09 14:36:23
包含宏的XLS文件應包含字符串看起來像
Keyboard Shortcut:
不知道這是否是一個萬無一失的解決方案,雖然
不,這不適合我。 – 2012-10-25 20:39:52
這是一個XLS XLSX檔案? – 2010-06-09 13:50:51
這將用於XLS文件 – 2010-06-09 13:51:50