[英]Change excel macro settings (temporarily) from outlook,when opening an email on outlook specific folder
[英]Check Excel Macro Security Settings
我有一個啟動Excel宏的vb.net應用程序。 有沒有一種方法可以先檢查Excel的宏安全設置?
Imports Excel = Microsoft.Office.Interop.Excel
Private Sub macrotest ()
objExcel.Workbooks.Open(strPath)
if ***'Check her what macro Security Settings is selected!*** Then
objExcel.Run("SortIO")
end if
End Sub
我在此站點上發現可以檢查注冊表的安全設置。 我發現的一個問題是我的注冊表項不在站點上所引用的確切位置。 話雖這么說,您可能只想嘗試捕獲它,或者使用更復雜的方法在注冊表中查找VBAWarnings項。
Dim strVBASecuritySetting As String = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\Security", _
"VBAWarnings", String.Empty)
If strVBASecuritySetting = "1" Then
objExcel.Run("SortIO")
End If
這些是VBAWarnings的可能值:
這似乎已經交叉發布到Excel VBA問題頁面:您介意說慢一點嗎?
... 讀起來很慢 ...
好吧,我可以在VBA中給您一個答案: Excel.Application.AutomationSecurity
屬性。
可用值由Office.MsoAutomationSecurity枚舉:
1 msoAutomationSecurityLow
2個msoAutomationSecurityByUI
3 msoAutomationSecurityForceDisable
這些是公開給VBA的API中可用的宏的設置。 功能區的“開發人員”選項卡中可見的用戶界面與NoAlias在上一個答案中解釋的注冊表設置相對應:
HKEY_CURRENT_USER \\ Software \\ Microsoft \\ Office \\ 15.0 \\ Excel \\ Security \\ VBA警告
具有以下枚舉值:
如果您沿注冊表路線走,VBA編碼器的建議是使用WMI腳本公開的安全注冊表類...並檢查您的用戶是否確實具有使該注冊表寫入的特權:可能存在一個注冊表策略防止它的地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.