- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
62#
發表於 2013-8-27 22:56
| 只看該作者
p.s. (65536 無法放在VbMsgBoxSetForeground 後面,語法錯誤)
t8899 發表於 2013-8-27 06:14 
65536 放在 VbMsgBoxSetForeground 後面?
當然會發生錯誤啦.
說明中的內文是 :
常數 值 說明
====================================================
VbMsgBoxSetForeground 65536 指定訊息方塊視窗作為前景視窗。
它的意思是說 :
在 Excel VBA 中, 已經有定義了 VbMsgBoxSetForeground 這個常數的值為 65536,
你在 MsgBox 函數的 buttons 引數的位置上,
可以使用 VbMsgBoxSetForeground 這個常數 或是用 65536 這個值(任取其中之一),
來設定這次使用 MsgBox 函數 指定其 訊息方塊視窗 作為前景視窗.
你也可以參考 MsgBox 的範例得知其使用方式:
Style = vbYesNo + vbCritical + vbDefaultButton2 ' 定義按鈕。
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
參照範例可得出你可以使用 :
MsgBox sStr, vbYesNo + VbMsgBoxSetForeground , "提示訊息"
或是
MsgBox sStr, 4 + 65536 , "提示訊息" (左式也等同 MsgBox sStr, 65540 , "提示訊息")
上兩式的結果是相同的.
不過 MsgBox 函數可以使用的常數不一定就適用 MsgBoxTest (在 Windows API 中它其實應該是 MessageBoxTimeoutA),
這要看在 Windows API 與 Excel VBA 中,
MessageBoxTimeoutA 函數是否有實做出該引數為 VbMsgBoxSetForeground 值時所應該出現的效果,
最簡單的方法就是套用進程式中,
然後實際跑跑看就知道有沒有此功能了. |
|