Vba 如何制作弹出式表单';需要s文本框

Vba 如何制作弹出式表单';需要s文本框,vba,ms-word,Vba,Ms Word,我有一个我没有创建的MS Word 2010文档 当您打开文档时,会出现一个小的“表单”弹出窗口,其中包含要填写的文本框。当用户单击表单上的“确定”按钮时,表单将填充Word文档。“表单”是在Visual Basic中创建的。我有一张表单的图片,但看起来我还没有足够的代表点来发布它 当用户单击“确定”按钮时,如何以名为“txtcnsl”的形式创建所需的文本框?然后抛出一个警告错误或类似的语句,如“您需要在文本框中填写xyz信息”。表格的代码如下所示。“确定”按钮的名称似乎为“cmdOk\u Cl

我有一个我没有创建的MS Word 2010文档

当您打开文档时,会出现一个小的“表单”弹出窗口,其中包含要填写的文本框。当用户单击表单上的“确定”按钮时,表单将填充Word文档。“表单”是在Visual Basic中创建的。我有一张表单的图片,但看起来我还没有足够的代表点来发布它

当用户单击“确定”按钮时,如何以名为“txtcnsl”的形式创建所需的文本框?然后抛出一个警告错误或类似的语句,如“您需要在文本框中填写xyz信息”。表格的代码如下所示。“确定”按钮的名称似乎为“cmdOk\u Click()”。另外,我将在哪里添加新代码

Private Sub cmdCancel_Click()
    Unload Me
    ActiveDocument.Close SaveChanges:=False
End Sub

Private Sub cmdOk_Click()
With ActiveDocument
    .Bookmarks("caseno").Range.Text = txtcaseno.Value
    .Bookmarks("resp").Range.Text = txtresp.Value
    .Bookmarks("resp2").Range.Text = txtresp.Value
    .Bookmarks("barno").Range.Text = txtmember.Value
    .Bookmarks("type").Range.Text = cbotype.Value
    .Bookmarks("sbexh").Range.Text = txtsbexh.Value
    .Bookmarks("rexh").Range.Text = txtrexh.Value
    .Bookmarks("transno").Range.Text = txttransno.Value
    .Bookmarks("respstreet").Range.Text = txtrespstreet.Value
    .Bookmarks("respcity").Range.Text = txtrespcity.Value
    .Bookmarks("cnsl").Range.Text = txtcnsl.Value
    .Bookmarks("cnslstreet").Range.Text = txtcnslstreet.Value
    .Bookmarks("cnslcity").Range.Text = txtcnslcity.Value
End With
    Application.ScreenUpdating = True
    Unload Me
        ActiveWindow.View.ShowBookmarks = False
End Sub


Private Sub Frame1_Click()

End Sub

Private Sub Frame2_Click()

End Sub

Private Sub Label4_Click()

End Sub

Private Sub txtcaseno_Change()

End Sub

Private Sub txtcnsl_Change()

End Sub

Private Sub txtcnslcity_Change()

End Sub

Private Sub txtcnslstreet_Change()

End Sub

Private Sub txtresp_Change()

End Sub

Private Sub txtrespcity_Change()

End Sub

Private Sub txtrespstreet_Change()

End Sub

Private Sub UserForm_Initialize()
    cbotype.AddItem "Rule 1-110 Violation Proceeding"
    cbotype.AddItem "Reinstatement Proceeding"
    cbotype.AddItem "Revocation of Probation Proceeding"
    cbotype.AddItem "Conviction Proceeding"
    cbotype.AddItem "Rule 9.20 Proceeding"
    cbotype.AddItem "Original Proceeding"
    cbotype.ListIndex = 0
End Sub

这看起来很棒,非常有用。我能够利用这段代码并扩展它,以获得我所需要的,谢谢!
Private Sub cmdOk_Click()
    'exit if txtcnsl has no value
    If Len(txtcnsl.Value) = 0 Then
        Msgbox "Please fill in blah blah blah"
        Exit Sub  
    End If 

    '...
    'rest of your code
    '...
End Sub