gpt4 book ai didi

vba - 访问另一个word文档TextBox

转载 作者:行者123 更新时间:2023-12-04 18:24:15 26 4
gpt4 key购买 nike

在我的单词“sheet”中,我有一个 CommandButton,单击它会触发代码的某个部分,这基本上是关于打开第二个 word 文档并插入当前文档中的一些信息(Document1) 到第二个 (Document2) TextBox

我有一个包含文本的 String 变量(例如 Document1)。我正在打开第二个文档(即 Document2)。然后,我需要从 Document2 访问特定的 TextBox 并将我已有的 String 变量之一的值插入其中。

也就是说,我无法访问第二个文档 (Document2),因为我总是收到“4160 错误”,这是文件名不正确的结果。

因此,我如何访问我的第二个文档 (Document2) TextBox 并向其中插入我已有的特定值?

我的代码如下(简化为一个变量,因为它对所有其他变量都是相同的):


Private Sub btn1_Click()
Dim strFile As String
Dim WordApp As New Word.Application
Dim WordDoc As Word.Document
Dim name As String

strFile = "C:\Users\WhateverUser\Desktop\WhateverFolder\Document2.docx"

name= txtBoxName.Text
'This comes from the first document (Document1) which is correct.

' Opening another Word document (Document2)
Set WordDoc = WordApp.Documents.Open(strFile)
WordApp.Visible = True

'Here is the problem
'Trying to access the Document2 TextBox (txtBoxNameDoc2) with various ways but I always get the Incorrect File Name Error

'First I tried
Documents("Document2.docx").Bookmarks("txtBoxNameDoc2").Range.Text = name
'Then I tried

Documents("Document2.docx").txtBoxNameDoc2.Text = name
'And after those, I went looking on internet and tried what I could find but none did work.

End Sub

最佳答案

我可以推测您在上面提供的编码中存在一些错误,但是如果此行没有返回错误:

Set WordDoc = WordApp.Documents.Open(strFile)
WordApp.Visible = True

那么你应该能够做到:

WordDoc.Bookmarks(txtBoxNameDoc2).Range.Text = name

这是因为您已经打开了“Document2.docx”并且而且您还专门将它分配给了WordDoc对象变量。因为您已经这样做了,所以您不需要像在原始代码中那样从 Documents 集合中显式引用它。

注意: 这假定 txtBoxNameDoc2 是标识 WordDoc 文档中书签的有效字符串。如果它应该被解释为文字字符串(即,它是书签的实际名称,那么您需要用引号将其限定,例如:

WordDoc.Bookmarks("txtBoxNameDoc2").Range.Text = name

如果这继续引发错误,则指定的书签不存在。

可以将书签分配给 TextBox 对象。书签不会“自动”存在于文档中,因此首先您必须确保存在这样的书签。您可以查看这些并通过功能区分配它们(如果它们不存在)。

书签不存在,除非您创建它们。您假设对象的名称也可以引用书签,虽然它可以,但首先您需要创建书签并为其分配您想要的名称引用它。

关于vba - 访问另一个word文档TextBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31009287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com