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