我一直在追逐我的尾巴了幾個星期,有更多時間「周圍的Googling比我不想承認。不能使Application.DisplayAlerts =假在Excel 2016 VBA
我有內一個大型的,複雜的分析應用一個Excel 2016電子表格,捕捉SQL表格數據,查詢電子郵件數據,並做了很多我認爲非常酷的東西,用戶可以看到銷售人員自動化性能指標和圖表,除了一件事情之外,一切都很好,我無法停止「保存數據?「對話框出現不管我做什麼
作爲一種解決方法,我已經把電子表格放在網絡上,給予用戶一個運行VBscript的快捷方式來將這個電子表格複製到隱藏的驅動器上本地P C並運行它。所以如果他們保存它,不用擔心,因爲他們不處理原始數據。但正如人們容易想象的那樣,當我告訴他們他們不能保存數據時,加載時間必然超過它的需要,並且用戶被消息弄糊塗了。
許多不同的實驗的網絡,它似乎我已經發現了一個Excel中的錯誤(是的,我知道,這聽起來甚至對我來說也是跛腳),因爲我無法使Application.DisplayAlerts = False。它不會採取。
見的形象在這裏: enter image description here
以上(或在我還沒有提交足夠的問題尚未插入圖片上面的鏈接)從即時窗口當我運行應用程序顯然是拍攝的圖像。我按照顯示的順序進入了步驟。請注意,我設置了Application.DisplayAlerts = False,然後在後面檢查了值並且它是True。
非常奇怪。這是一個錯誤?
最後一個可能無關緊要;我使用的是.XLSB格式,因爲佔用空間更小,加載時間更短,並且可以避免PC上的宏設置問題。但是我已經切換回.XLSX來簡化實驗。
你不能在子外面設置DisplayAlerts爲false ...這種方式下,直接窗口永遠不會顯示真正的值......但是你可以用Stop來創建一個子然後再次測試而子是在停止...它現在應該顯示錯誤...但一旦子結束,它將再次爲真... –
MSDN:'如果您將此屬性設置爲False,Microsoft Excel將設置此屬性當代碼完成時爲True,除非您正在運行跨進程代碼.' https://msdn.microsoft.com/en-us/library/office/ff839782.aspx – cyboashu
此外,它應該被封裝在一個'EnableEvents = False' ...那麼只要任何子文件正在運行,就不會彈出... –