在 Word VBA 中,我希望能夠在文本框和復選框中顯示用戶表單并輸入資訊。但是,我希望能夠訪問和滾動其他 Word 檔案。因此,我希望彈出一個用戶表單,插入文本并單擊復選框,能夠在其他檔案中滾動,然后按命令按鈕隱藏用戶表單并執行其余代碼。
我嘗試使用用戶表單功能 ShowModal 并將其設定為 False,這有助于我訪問其他檔案并能夠滾動它們。但是,我的代碼將繼續執行,因此我無法使用用戶表單中的文本框和復選框中的資訊,甚至無法讓用戶將資訊插入文本框中。
A 制作了一個簡單的腳本來展示這個概念。
Sub testing()
UserForm1.Show
MsgBox ("Hello, " UserForm1.TextBox1.Value)
Unload UserForm1
End Sub
用戶表單如下所示。
用戶表單的影像
我想打開用戶表單,插入一個名稱,同時能夠在另一個 Word 檔案中單擊,然后單擊 OK 按鈕。如果我將其更改為 Userform1.Show vbModeless,訊息框將輸出“Hello”,然后關閉用戶表單。
我還沒有找到解決這個確切問題的另一個問題,所以希望你能指導我解決這個問題。
uj5u.com熱心網友回復:
您需要testing分成兩個子項 - 第一個子項僅以非模態方式顯示表單然后退出,第二個子項在您的用戶準備好繼續時從用戶表單中呼叫。用戶表單中的代碼將任何必需的引數(或對自身的參考,以便被呼叫的代碼可以從表單訪問任何必需的資訊)傳遞給第二個子程式。
例如:
在模塊 1 中:
Sub ShowForm()
Dim frm As New UserForm1
frm.Show False
End Sub
Sub ProcessForm(frm As UserForm1)
MsgBox frm.TextBox1.Text
Unload frm
End Sub
在表格中:
Private Sub CommandButton1_Click()
Application.Run "Module1.ProcessForm", Me
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/405383.html
標籤:
下一篇:將范圍參考到單元格值
