我已經看到一些帖子解決了與我所經歷的類似的事情,但沒有任何內容可以明確解決我的問題。如果我需要在不同的 Stack 論壇上發帖,請告訴我。
我在 Excel 作業表 (NOT ActiveX CommandButtons)上有多個按鈕,它們顯示出一些奇怪的行為。
它們都被分配了各種宏,但它們都在某些條件下失敗,除了一個(參見下面的“TLDR”)。我得到標準"Cannot run the macro ''Workbook Name Here.xlsm'!'Subroutine_Called''. The macro may not be available in this workbook or all macros may be disabled."錯誤。我在分配給 15 按鈕的所有宏上收到此錯誤。
每個宏確實存在。從VB IDE它們執行宏時,它們作業得很好。從Macros按鈕 ( "View ToolBar" --> "Macros")執行宏并選擇宏并單擊Run按鈕時,它們作業得很好。當回圈通過按鈕VBA拉動Button.OnAction字串并拉出作業簿名稱時,然后從回圈中呼叫THAT作業正常。代碼不是問題。這是Excel本身的問題。
這是踢球者(TLDR):當作業簿打開 (
)時首次彈出安全警告時,我已經選擇了“啟用宏”按鈕,但宏無法從按鈕運行。如果我保存幾次并再次打開它,頂部會出現宏安全警告,就在公式欄 (
)下方。即使在那時,宏仍然無法通過按鈕作業(同樣 - 它們都可以從工具列VB IDE或工具列的Run Macro對話框中正常作業View)。宏從按鈕作業的唯一時間是檔案是受信任的檔案時。如何更改此行為,是否可以通過編程方式完成?
我擔心的是它公開了宏的名稱以及我希望避免的以純文本形式發送的任何/所有引數。有沒有其他人經歷過這種特殊現象?我以為我在
(現在變灰了,因為它們都不見了!哇!
現在一切似乎都運行良好!
我必須給這篇 StackOverflow 文章(以及隨后在 Ozgrid 上的 allula,即使那里的鏈接文章已損壞)一些主要的榮譽。這就是讓我開始使用此解決方案的原因。如果沒有人找到這個,我也會對有關我的經歷的鏈接帖子進行交叉評論。
此外,作為一項額外的保護措施,我將作業簿的路徑設為受信任的路徑,并提供了一個子例程來為目標用戶提供此選項而無需手動執行此操作,僅在他們接受并在移動時洗掉它時才這樣做檔案并在同一請求提示上選擇“否”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/395113.html
