You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Word VBA中选中文件名包含可变指定短语的目标文档

实现激活目标Word文档的VBA代码

你可以直接在现有代码基础上追加以下逻辑,即可匹配并激活目标Doc B文档:

' 你原有的代码
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")

' 新增判断:用户点击取消时直接退出,避免空值报错
If strHR = "" Then Exit Sub

' 定义文档对象变量
Dim targetDoc As Document
Dim doc As Document
Dim isFound As Boolean
isFound = False

' 遍历当前Word所有已打开的文档,匹配文件名关键词
For Each doc In Application.Documents
    ' 匹配规则:文件名包含"HR"拼接你输入的内容,不区分大小写
    If InStr(1, doc.Name, "HR" & strHR, vbTextCompare) > 0 Then
        Set targetDoc = doc
        isFound = True
        Exit For
    End If
Next

' 匹配结果处理
If isFound Then
    ' 激活目标文档,后续可直接执行复制操作
    targetDoc.Activate
    ' --- 你原有文本复制的代码写在此处即可 ---
Else
    MsgBox "未找到文件名包含 HR" & strHR & " 的已打开文档,请确认文件是否已正常开启", vbExclamation
End If
补充说明
  • 后续操作也可以直接用targetDoc对象调取文档内容,不需要依赖激活后的活动文档,稳定性更高,比如targetDoc.Range.Copy就能直接复制目标文档的全量内容
  • 上述代码默认目标文档已经提前在Word中打开,如果需要实现自动查找本地路径下的未打开文档,可以再补充文件遍历逻辑

内容的提问来源于stack exchange,提问作者shayshaylearnstocode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:54:09