从一个 Word 文档中选择一系列文本并复制到另一个 Word 文档中

2024-02-13

我正在尝试使用VBA提取一个Word文档中的句子并将其放入另一个Word文档中。 例如,如果我们需要查找组织的头衔,我们遵循以下算法:

搜索“标题”
执行(获取)“标题”之后的每个字符并(停止)直到“地址”


以下方法有效,但可能有更有效的方法:

Sub FindIt()
    Dim blnFound As Boolean
    Dim rng1 As Range
    Dim rng2 As Range
    Dim rngFound As Range
    Dim strTheText As String

    Application.ScreenUpdating = False
    Selection.HomeKey wdStory
    Selection.Find.Text = "Title"
    blnFound = Selection.Find.Execute
    If blnFound Then
        Selection.MoveRight wdWord
        Set rng1 = Selection.Range
        Selection.Find.Text = "Address"
        blnFound = Selection.Find.Execute
        If blnFound Then
            Set rng2 = Selection.Range
            Set rngFound = ActiveDocument.Range(rng1.Start, rng2.Start)
            strTheText = rngFound.Text
            MsgBox strTheText
        End If
    End If
    'move back to beginning
    Selection.HomeKey wdStory
    Application.ScreenUpdating = True
End Sub

您可以使用Activate 在文档之间进行切换,最好使用对象变量。

Microsoft MVP Jay Freedman 善意地为我修改了这一点,让我可以在没有 Selection 对象的情况下工作,使其更加整洁。

Sub RevisedFindIt()
' Purpose: display the text between (but not including)
' the words "Title" and "Address" if they both appear.
    Dim rng1 As Range
    Dim rng2 As Range
    Dim strTheText As String

    Set rng1 = ActiveDocument.Range
    If rng1.Find.Execute(FindText:="Title") Then
        Set rng2 = ActiveDocument.Range(rng1.End, ActiveDocument.Range.End)
        If rng2.Find.Execute(FindText:="Address") Then
            strTheText = ActiveDocument.Range(rng1.End, rng2.Start).Text
            MsgBox strTheText
        End If
    End If
End Sub

唯一剩下的要求是将此文本放入其他文档中。就像是:

Documents(2).Range.Text = strTheText
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从一个 Word 文档中选择一系列文本并复制到另一个 Word 文档中 的相关文章

  • 将单元格背景颜色设置为其包含的 RGB 值。如何?

    下面是我希望通过手动复制和粘贴以外的方式实现的屏幕截图 这是材料设计调色板 在 Excel 中看起来很棒 如何循环遍历范围 B2 B15 并将每个单元格背景颜色设置为其相应的包含颜色 也许是一个VBA loop去经历垂直 B 单元格范围 解
  • 在 Excel 工作簿中找不到链接

    我编写了一个宏来打开多个受密码保护的工作簿 这些工作簿彼此之间都有链接 因此为了方便起见 我设置了UpdateLinks 0这样在其他书籍打开之前 我就不会收到所有链接更新的密码提示 所有工作簿打开后 我尝试使用以下命令更新链接 Workb
  • 使用 VBA 从数据透视表中提取数据

    我编写了以下 vba 代码 该代码应该从 old xlsx 的某些单元格导入任何现有数据 这些单元格是数据透视表的一部分 并且 OE gt location gt qual in 作为其行的子单元格 该列由手动输入的日期决定 strForm
  • 尝试使用变量作为自动过滤器中的条件,并带有“不等于”<>,但无法使其工作

    我正在使用 Excel VBA 使用 不等于 表达式来过滤列表 如果我使用Criteria1 lt gt Bob 代码运行完美 但如果我将 Bob 更改为变量 代码将无法运行 这有效 ActiveSheet ListObjects Rpt
  • 是否有任何公式可用于将特定单元格复制指定次数?

    目前我正在处理一份数据 其中我有一个公司名称列表 例如 1 A 2 B 3 C 还有很多 需要的结果是 1 A 2 A 3 A 4 A 5 A 6 B 7 B 8 B 9 B 10 B 11 C 12 C 13 C 14 C 15 C 等等
  • Excel:包括过滤器中的第一行

    我正在特别考虑 Excel VBA 的 AutoFilter 方法 但我认为我的问题也适用于 GUI 当我将筛选器应用于 Excel 工作表时 未选择任何内容 筛选器将应用于所有行从第二次开始 有什么方法可以包含第一行 以便它也可以被过滤掉
  • 如何从另一个 Excel 实例引用工作簿

    我相信我的问题相当简单 我有一个工作簿 我正在使用它从另一个软件 SAP 获取一些数据 当我从软件导出数据时 它会自动打开一个 xlsx 文件 然后我需要做的是从该文件复制一些数据 粘贴到我的原始工作簿上 然后关闭该文件 我的代码中给我带来
  • 使用 VBA 在 Access 表中记录计数

    我正在尝试获取表的记录数 如果计数大于 17 则创建一个新表 Dim rst As DAO Recordset strSQL Select from SKUS Set rst db OpenRecordset strSQL If rst R
  • 如何暂停特定时间? (Excel/VBA)

    我有一个 Excel 工作表 其中包含以下宏 我想每秒循环一次 但如果我能找到执行此操作的函数 那就很危险了 难道不可能吗 Sub Macro1 Macro1 Macro Do Calculate Here I want to wait f
  • 正在使用的 VBA 监视文件

    我正在寻找一些东西 Win API 调用或其他 来在文件可供编辑 即不再使用 时通知我 我应该设置一个计时器来按一定时间间隔检查文件还是有一个好方法对文件设置监视 FileSystemWatcher 没有帮助 Win32 FindFirst
  • 如何获取 Word 应用程序的 Hwnd/进程 ID,并将其设置为前台窗口

    我希望我的 Word 应用程序在自动化完成后进入前台 Excel 中的等效项很简单 Excel Application 对象有一个 Hwnd 属性 您可以将其与 Windows API 结合使用 SetForegroundWindow In
  • Excel宏隐藏特定单元格和合并区域

    我试图根据另一个单元格的值隐藏特定单元格 到目前为止 我设法隐藏整行 但无法隐藏特定单元格 Local Currency value show hide item If Range Currency Value USD Then Range
  • 使用 FileSystemObject 读取和写入 csv 文件

    是否可以使用 VBA 中的 FileSystemObject 读取和写入 csv 文件 必然是 基本语法如 Set objFSO CreateObject scripting filesystemobject create a csv fi
  • 通过 Excel VBA 保存并关闭 powerpoint

    下面的代码根据定义的名称创建多个图表 然后打开具有这些定义的名称的 powerpoint 文件并转储到图表中 除了最后一部分之外 一切都正常 保存并关闭文件 我已将尝试保存和关闭文件的尝试标记为绿色 任何帮助表示赞赏 Sub Slide19
  • 查找最后一列并按最后一列排序

    我需要 Excel 来检测我拥有的最后一列并对该列进行排序 我有一个宏 每次使用它时都会生成一个新列 因此我无法使用常量 Sub sortyness Dim sortdata A1 Cells LastRow LastColumn As R
  • 在 Linux 服务器上创建和编辑 MS-Word 文档?

    希望开发处理文档的服务器端应用程序 源文档大多是MS Word 2003 2007 即MS版本的Docx 希望服务器应用程序能够在linux或windows上运行 想知道在linux下读写MS Word文件最好的工具或库是什么 兼容性是最重
  • 在 VBA 中从范围创建数组

    我遇到了一个看似基本的问题 但找不到任何资源来解决它 简而言之 我只想将一系列单元格 所有一列 的内容加载到数组中 我能够通过以下方式完成此任务 DirArray Array Range A1 Range A2 但由于某种原因 我无法以这种
  • excel vba 中的智能卡和 ISO 7816 入门 ( SCardEstablishContext )

    我刚刚收到了标准的便宜货USB 智能卡读卡器 http stanleyglobaltech com sgt111 html 我正在尝试找出如何使用 Excel 中的 VBA 与其进行交互 我在尝试在工作簿中创建基本智能卡功能时编写了此内容
  • 宏VBA获取Outlook 2003中选定的文本

    我正在尝试使用此代码片段来获取 Outlook 2003 中选定的文本 Sub SelectedTextDispaly On Error Resume Next Err Clear Dim oText As TextRange Get an
  • VBA Excel 选择以字符开头的命名范围

    我在命名范围方面遇到了一些问题 我在不同的工作表上有多个命名范围 我想用VBA隐藏或显示所有这些范围 命名范围的示例 r1 name1 另一张纸上的第二个是r1 name2 因此 所有范围都以前面相同的代码开头 r1 我如何循环遍历以 r1

随机推荐

  • 1and1 域名、Heroku 托管 - 如何设置电子邮件?

    我刚刚从 1and1 购买了一个域名 并将 cname 设置为指向我在 heroku 上的应用程序 不过 我想要一个电子邮件 电子邮件受保护 cdn cgi l email protection 我需要通过 1and1 或 heroku 执
  • OCR 处理前的图像预处理

    我当前的项目涉及将 pdf 中的文本转录为文本文件 我首先尝试将图像文件直接放入 OCR 程序 tesseract 中 但效果不佳 原始图像文件基本上是旧报纸 并且有一些背景噪音 我确信 tesseract 存在问题 因此 我尝试在将图像输
  • Python 为什么是 10e26 != 10**26 ? (浮点不准确?)

    我试图在 python 中处理一些相当大的数字并遇到溢出错误 我决定进一步调查 发现了一个我无法解释的不平等现象 当我评估 10 26 时 我得到 gt gt gt 10 26 100000000000000000000000000 这是完
  • iOS:应用程序后台运行时隐藏屏幕上的敏感信息

    当前台应用程序进入后台时 例如按下主页按钮 如何更改最顶层视图控制器上的元素prioriOS 何时拍摄快照并开始动画以显示下一个屏幕 我问这个问题是因为我正在编写一个需要符合 HIPAA 要求的应用程序 并且我担心操作系统为执行此动画而拍摄
  • 通过淘汰赛在我的下拉列表中预选一个项目

    我有以下下拉菜单 div Dummy div
  • 将附件添加到 .NET 电子邮件

    如何附加名称非常不友好的文件 例如其中包含会话 ID 号的文件 但将其附加为其他名称 有问题的文件名中包含会话 ID 以避免 Web 服务器上的名称冲突 但当我将其附加到文件时 最好使用更友好的名称 有没有办法将不友好的名称附加为另一个名称
  • 您可以使用 Canvas 截取页面的“屏幕截图”吗?

    我有一个页面 我们使用 CSS 定位一堆元素 并使用 JS 更改它们的 顶部和左侧 位置 我收到的报告称这些事情已经错位 但用户有动机对此撒谎以 作弊 所以我不确定他们是否说的是实话 我试图找到一种方法来弄清楚他们是否在撒谎 并找到一些 证
  • 我可以信任 PHP __destruct() 方法被调用吗?

    在 PHP5 中 是否保证为每个对象实例调用 destruct 方法 程序中的异常可以防止这种情况发生吗 还值得一提的是 如果子类有自己的析构函数 则父类析构函数是not自动调用 你必须明确地调用父级 destruct 来自子类 destr
  • Numpy 数组与其他数组索引会产生广播错误

    我有两个索引数组 elim range 130 240 tlim range 0 610 要索引的数组 I 最初的形状为 299 3800 当我尝试按如下方式对其进行索引时 I elim tlim 我收到以下错误消息 形状不匹配 索引数组无
  • 将复合外键映射到复合主键,其中外键也是主键

    我想将 VM hostname datetime 和 name 属性设置为复合键磁盘类 同时VM hostname和datetime磁盘类应参考 VM hostname 和 datetime虚拟机类 即外键 我这样做了 但它给了我这个例外
  • iOS状态栏触摸返回App

    这让我很困惑 有人知道如何去做吗 蓝色发光状态栏如图所示 就像 Facebook 应用程序在启动 FB Messenger 时所做的那样 抱歉图片太大了 如果有人能指出我正确的方向 那就太好了 它看起来像是一个位于导航栏顶部的自定义视图 带
  • 如何使用单个按钮和单个操作方法显示/隐藏 UIPopoverController

    以下方法与导航栏按钮相关联 当按下该按钮时 会显示一个UIPopoverController IBAction showTablePopUp id sender if self tablesPopoverController nil Tab
  • 使用 Emacs 运行 $PAGER?

    UNIX 中有很多地方程序调用 PAGER 中的程序 通常less或一些类似的命令 来显示一些输出 确实 许多最常见的用途都有 Emacs 替代品 例如man 例如 但我仍然想要使用 Emacs 作为我的系统范围寻呼机的通用方法 理想情况下
  • 理解 MVC:模型上的“Fat”和控制器上的“Skinny”是什么概念?

    我试图理解模型上的 胖 与控制器上的 瘦 的概念 并且根据我一直在讨论的内容 我有以下示例 这取自 freenode 讨论 问 在 MVC 范式中 它说胖模型 瘦控制器 我在这里想 如果我有很多方法 在控制器上 只使用一些抽象方法来 CRU
  • 在 iOS 6.x (iPad) 上使用 JS 选择/取消选择下拉选项

    我正在使用 html 创建动态下拉列表
  • Maven:如何使用包含外部库来执行可运行的 jar (uber jar)

    到目前为止 我用 Ant 制作了可运行的 jar 并且没有任何问题 然而 我现在尝试对我的项目进行mavenize 但我真的不知道如何使用这个工具来制作可运行的jar 我读过大量的教程 也在这里 在 Stackoverflow 上 帮助 建
  • 如何在cocoapods中加载资源resource_bundle

    我一直在努力解决如何在 cocoapods resources bundle 中加载资源 以下是我放入的内容 podspecs file s source files XDCoreLib Pod Classes s resource bun
  • 无法在 IIS Express 中启动 ASP.NET Core Web 应用程序

    编辑 问题出在 BitDefender 防病毒软件上 我按照有关如何安装 asp net 5 beta 8 的说明进行操作 我能够毫无问题地安装所有必需的文件 然而 每次我选择 Web 模板并尝试使用 IIS Express 运行它时 它都
  • 如何克服无法读取反应中 null 的属性“removeEventListener”

    我有一些重复的悬停状态 运行一个函数来显示一些空或填充的图标 就像您在一些带有空 填充购物车的电子商务网站中看到的那样 作为实践 我想创建并将其放入自定义的hoverHooks组件中 w useRef and useEffect运行一些ad
  • 从一个 Word 文档中选择一系列文本并复制到另一个 Word 文档中

    我正在尝试使用VBA提取一个Word文档中的句子并将其放入另一个Word文档中 例如 如果我们需要查找组织的头衔 我们遵循以下算法 搜索 标题 执行 获取 标题 之后的每个字符并 停止 直到 地址 以下方法有效 但可能有更有效的方法 Sub