Board logo

標題: [發問] 如何設定MsgBox回傳值 vbCancel 讓他不要跳出詢問是否要存檔 [打印本頁]

作者: av8d    時間: 2012-9-11 13:36     標題: 如何設定MsgBox回傳值 vbCancel 讓他不要跳出詢問是否要存檔

vbCancel 不設定~依然會跳出詢問是否要存檔
我該如何設定讓他不跳出此詢問視窗~回到原來畫面呢?
作者: mark15jill    時間: 2012-9-11 15:20

回復 1# av8d


Application.DisplayAlerts = False '提示視窗消失
作者: av8d    時間: 2012-9-11 16:05

回復 2# mark15jill


    請問如果不想讓他將整個Excel關閉~只單純關閉MsgBox視窗~也不需要詢問是否存檔~是否有辦法? 感恩!
作者: Hsieh    時間: 2012-9-11 16:18

回復 3# av8d


    MsgBox視窗是設計者為了讓使用者有選擇機會所設計,為何要取消式窗跳出?
發問請清楚描述需求或上船完整檔案或程式碼,否則瞎子摸象得不到正確解答
作者: mark15jill    時間: 2012-9-11 16:19

回復 3# av8d


這是忽略提示視窗
不是關閉EXCEL ...0.0
至於  設定MsgBox 回傳值VbCancel . 但又不要顯示
除非有設定到 自動儲存 或者是 執行完 直接先儲存
不然一般 而言 應該不會出現是否要存檔...(特殊情況除外   如 程式盪掉  程式內預設就有儲存
作者: GBKEE    時間: 2012-9-11 16:35

回復 3# av8d
關閉MsgBox視窗~也不需要詢問是否存檔
那你需明確地告訴Excel程式 檔案關閉後是要存檔或不存檔
  1. Option Explicit
  2. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  3. Me.Close
  4. 'Me.Save '已存檔之檔案存檔
  5. 'Me.Close False '不存檔
  6. 'Me.Close True, "D:\TEST.XLS"  '未存檔之檔案存檔 或已存檔之檔案另存檔名
  7. End Sub
複製代碼

作者: av8d    時間: 2012-9-12 12:25

回復 6# GBKEE


   大大~我的意思是~跳出詢問視窗一般非為 是 . 否 . 取消  三種

正常人的想法是~按取消代表我沒做過這個動作~所以關閉MsgBox而已~
但是系統默認取消無論有無定義~都是直接關閉Excel~如果有變更他會詢問是否變更~如果沒變更則會直接關閉~

我希望不要關閉Excel~只要把MsgBox的提示訊息關閉就好~可是系統總是直接關閉Excel
作者: GBKEE    時間: 2012-9-12 13:27

回復 7# av8d
  1. Option Explicit
  2. Private Sub Workbook_BeforeClose(Cancel As Boolean) 'Cancel->取消=True 不關閉檔案
  3.    If MsgBox("要存檔嗎?", vbYesNoCancel) = vbCancel Then Cancel = True
  4. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)