【问题标题】:Excel Userform TextBox.Value Populate MS Word BookmarksExcel 用户窗体 TextBox.Value 填充 MS Word 书签
【发布时间】:2019-03-31 20:51:25
【问题描述】:
Private Sub CommandButton3_Click()

 Dim wApp As Object
 Dim wDoc As Object

 Set wApp = CreateObject("Word.Application")
 wApp.Visible = True

 Set wDoc = wApp.Documents.Open(Filename:="C:\template1.dotm ", ReadOnly:=False)
    With wDoc.Selection
    .Bookmarks("bookmark1") = UserForm5.TextBox1.Value
    .Bookmarks("bookmark2") = UserForm5.TextBox2.Value
    End With

 WordDoc.Close
 WordApp.Quit
 Set WordDoc = Nothing
 Set WordApp = Nothing

End Sub

大家好,

我希望有人可以帮助我解决这个问题。如上面的代码所示,我正在尝试获取用户表单文本框的值并使用书签将其填充到 MS Word。

问题是当我点击用户窗体上的命令按钮 3 时,MS 字打开但书签仍然是空的,即没有值

感谢您的帮助,因为我已经尝试解决了几个小时。非常感谢。

问候, 凯文

【问题讨论】:

    标签: excel vba ms-word userform


    【解决方案1】:

    书签命令需要 Range 和 Text 属性。示例

    .Bookmarks("bookmark1").Range.Text = UserForm5.TextBox1.Value
    

    【讨论】:

    • 嗨 Rich,非常感谢。我的另一个问题是如何将打开的 Word 文档以新名称保存在不同的位置?
    • 也将WordDoc.Close 更改为WordDoc.Close True 或者如果是wDoc?
    • 在我看来是不一致使用相同变量的情况(WDoc:WordDoc;参见 wApp:WordApp)-Option Explicit 需要!顺便说一句,在用户表单的 CommandButton3_Click 事件中,应该使用前缀 Me. 而不是 UserForm5. :-)
    • 感谢大家的建议和帮助。非常感谢。
    • @Kev,要保存文档,您将使用 WordDoc.SaveAs2 文件名:=xxxxx
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    相关资源
    最近更新 更多