如何 select 文件名中包含可变短语的活动 Word 文档
How to select an active Word document with a variable phrase in the file name
我是州政府工作人员和新手编码员。我正在努力学习编码,以减少一些乏味、容易出错的工作。
当 运行 来自活动 Word 文档的宏(我将其称为 Doc A)时,我会打开一个提示:
strPrompt = "Please enter HD number and Draft." & vbCrLf & "Enter number only, followed by a space, then draft number with no spaces."
strHR = InputBox(strPrompt, "HR number and draft")
从这里开始,我希望 Word 激活文件名中包含“HR”和 strHR 的 Word 文档 (Doc B)。
然后我想从文档 B 中复制某些文本并将其粘贴到文档 A 中。
我在这里阅读了其他关于如何复制和粘贴文本的帖子;只需要知道如何告诉 Word select 正确的 Word 文档 (Doc B) 将该文本粘贴到。
您将需要以下内容:
Sub Example()
Dim strPrompt As String, strHR As String
strPrompt = "Please enter HD number and Draft." & vbCrLf & "Enter number only, followed by a space, then draft number with no spaces."
strHR = "HR" & InputBox(strPrompt, "HR number and draft")
Dim sourceDoc As Document
Set sourceDoc = FindOpenDocument(strHR)
If sourceDoc Is Nothing Then
'document wasn't found
Else
'copy whatever you need from the document
End If
End Sub
Function FindOpenDocument(findText) As Document
Dim doc As Document
For Each doc In Documents
If InStr(doc.Name, findText) > 0 Then
Set FindOpenDocument = doc
Exit For
End If
Next doc
End Function
我是州政府工作人员和新手编码员。我正在努力学习编码,以减少一些乏味、容易出错的工作。
当 运行 来自活动 Word 文档的宏(我将其称为 Doc A)时,我会打开一个提示:
strPrompt = "Please enter HD number and Draft." & vbCrLf & "Enter number only, followed by a space, then draft number with no spaces."
strHR = InputBox(strPrompt, "HR number and draft")
从这里开始,我希望 Word 激活文件名中包含“HR”和 strHR 的 Word 文档 (Doc B)。
然后我想从文档 B 中复制某些文本并将其粘贴到文档 A 中。
我在这里阅读了其他关于如何复制和粘贴文本的帖子;只需要知道如何告诉 Word select 正确的 Word 文档 (Doc B) 将该文本粘贴到。
您将需要以下内容:
Sub Example()
Dim strPrompt As String, strHR As String
strPrompt = "Please enter HD number and Draft." & vbCrLf & "Enter number only, followed by a space, then draft number with no spaces."
strHR = "HR" & InputBox(strPrompt, "HR number and draft")
Dim sourceDoc As Document
Set sourceDoc = FindOpenDocument(strHR)
If sourceDoc Is Nothing Then
'document wasn't found
Else
'copy whatever you need from the document
End If
End Sub
Function FindOpenDocument(findText) As Document
Dim doc As Document
For Each doc In Documents
If InStr(doc.Name, findText) > 0 Then
Set FindOpenDocument = doc
Exit For
End If
Next doc
End Function