Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。

WayArBell 發問於 電腦與網際網路軟體 · 1 十年前

Excel 的 VBA 如何不讓使用者移動Userform

據說 Excel 的 VBA 呼叫 Windows API 可以做到不讓使用者移動 Userform, 請示範

5 個解答

評分
  • 1 十年前
    最愛解答

    做了一個例子,因為說來話長,請先試用看。

    範例下載

    我會整理出來PO在我的部落格再詳細說明。

    2008-03-20 21:25:10 補充:

    在這裡

    http://www.box.net/shared/n3nh0z4sgg

    2008-03-21 08:02:51 補充:

    感謝 pop 的鼓勵。

    2008-03-21 18:10:28 補充:

    BlowExpress您真客氣。

    To jackylu:

    關於 [用vba(或用VB)做一個文字編輯軟體(如同C++的編輯器),我該如何下手? ]小可真的不會。不好意思!

    2008-03-21 20:34:53 補充:

    詳細的說明已經PO在部落格,請大家指教。

    http://blog.xuite.net/crdotlin/excel/16313265

    2008-03-21 23:07:37 補充:

    To herman,

    試試這樣

    'UserForm結束

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

    '將原本的程序還回來

    SetWindowLong usfHwnd, GWL_WNDPROC, preWndProc

    If CloseMode = 0 Then Cancel = True

    End Sub

    也就是將範例的QueryClose事件中的代碼加上

    If CloseMode = 0 Then Cancel = True

    即可。

    2008-03-24 11:18:59 補充:

    herman,

    請下載測試

    http://www.box.net/shared/8n5ii4klcc

    基本上就是將 [在標題區按下滑鼠右鍵] 的訊息也吃掉就是啦。

  • 1 十年前

    您好:請問如果按右上的X時,也不能關閉表單

    要在哪增加程式碼?

    2008-03-21 21:33:19 補充:

    jackylu:你的方法,我一直試不成功,能不能提供檔案下載,謝謝您!

    2008-03-23 23:46:50 補充:

    crdotlin 您真的很強吔

    我試了...也成功了

    真的謝謝您

    但是在顯示列按右鍵時,會出現"移動"

    點選後就能移動userform

    有辦法使之也無法移動嗎

    謝謝!

    2008-03-24 12:38:24 補充:

    crdotlin 謝謝您這麼熱心

    讓初學VBA的我

    學習到更多

    你的解釋也很清楚

    我會再多加油努力學習

    謝謝你哦...高手

  • 1 十年前

    crdotlin大大, 強強強!!!

  • 1 十年前

    crdotlin大大出現了!! 你的部落格是我朝聖的聖地耶!!

    原本是要回答BlowExpress大大的,既然您來了,小的就不獻醜了.

    反正我的答案也是向您學的^_^

    (我的做法是將userform的顯示列移除,這樣就不能移動了)

    2008-03-21 09:25:18 補充:

    theHwnd = FindWindow(vbNullString, Me.Caption)

    IStyle = GetWindowLong(theHwnd, GWL_STYLE)

    IStyle = IStyle And (Not WS_CAPTION)

    SetWindowLong theHwnd, GWL_STYLE, IStyle

    2008-03-21 09:33:55 補充:

    crdotlin大大既然您出現了,想請教您一個問題,我想用vba(或用VB)做一個文字編輯軟體(如同C++的編輯器),我該如何下手?

    2008-03-22 23:00:10 補充:

    to herman,

    你可以去crdotlin大大的部落格,看userform那一部份,就有將顯示列移除的範例囉!!

  • ?
    Lv 7
    1 十年前

    crdotlin大大:

    Good!!

還有問題嗎?立即提問即可得到解答。