2017-07-19 19 views
0

我有一個插件,我從網上下載一個Excel文檔並打開它。 由於Excel文檔可能爲.xls.xlsx,並且該文件可能包含宏,因此我需要檢查活動工作簿是否有宏。檢查一個Excel文檔是否有一個宏來保存正確的文件擴展名

我找到一個解決辦法,但這種運行到安全問題......

var hasMacro = false; 
var cmp = ExcelApp.ActiveWorkbook.VBProject; 
foreach (VBComponent c in from VBComponent c in cmp.VBComponents where c.CodeModule.CountOfLines > 1 select c) 
hasMacro = true; 

但運行的代碼運行到

Programmatic access to Visual Basic Project is not trusted 

如果Excel有不正確的屬性的信任中心設置。

由於我只是想檢查,如果一個Excel文檔有宏或不正確的文件擴展名.xlsm有檢查宏的更聰明的方式?

找到這個SO Answer但我沒有財產HasVBProject

回答

0

爲什麼不只是所有文件保存爲.XLSM 如果沒有宏觀

+0

它沒有意義的保存,如果它沒有宏也不會受到傷害。目前,宏主要是一個安全問題,所以有一個原因.xlsx文件不包含宏。 .xlsm文件引發其他掃描和警報。所以這不是一個合適的解決方案。 – YvesR

相關問題