VBA Excel/Word 查找和替换

2023-12-05

我正在开发一个 Excel 工作表,用于在 Word 文档中搜索特定实例(A 列)并将其替换为单元格 B 中的实例。

我只想更改与搜索条件匹配的第一个实例,并继续循环该列到下一个实例。

我写了下面的代码。

如果我使用“wdReplaceAll”,它将替换 Word 文档中的所有特定实例。 如果我使用 wdReplaceOne”,代码将在第一次更改后中断。

VBA代码:

Sub Replace()

Dim pathh As String
Dim pathhi As String
Dim oCell  As Integer
Dim from_text As String, to_text As String
Dim WA As Object

pathh = "C:\Users\Rui.Fernandes\Arquivo Rui Fernandes\On.me Documentação\Construção\Documentos Obra Tipo\PGC.10.Ed.1 - Auditorias Internas.doc"

Set WA = CreateObject("Word.Application")
WA.Documents.Open (pathh)
WA.Visible = True

For oCell = 1 To 10
    from_text = Sheets("PTAct").Range("A" & oCell).Value
    to_text = Sheets("PTAct").Range("B" & oCell).Value
    With WA
        .Activate
    With .Selection.Find
      .ClearFormatting
      .Replacement.ClearFormatting

      .Text = from_text
      .Replacement.Text = to_text
      .Execute Replace:=wdReplaceAll
    End With
End With
Next oCell

End sub

我怎样才能让它做我想做的事?


您执行后期绑定,因此 wdReplaceAll 和 wdReplaceOne 将不会是您所期望的。在 Word VBA 帮助中查找 WdReplace 枚举及其值。

Sub Replace()

Dim pathh As String
Dim pathhi As String
Dim oCell  As Integer
Dim from_text As String, to_text As String
Dim WA As Object

pathh = "C:\Users\axel\Documents\replacetest.docx"

Set WA = CreateObject("Word.Application")
WA.Documents.Open (pathh)
WA.Visible = True

For oCell = 1 To 10
    from_text = Sheets("PTAct").Range("A" & oCell).Value
    to_text = Sheets("PTAct").Range("B" & oCell).Value
    With WA.ActiveDocument
        Set myRange = .Content
        With myRange.Find
            .Execute FindText:=from_text, ReplaceWith:=to_text, Replace:=1
        End With
    End With
Next oCell

End Sub

问候

Axel

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

VBA Excel/Word 查找和替换 的相关文章

  • VBA按空格分割字符串

    我想要一个 Excel 函数 我可以调用该函数并将单元格传递到其中 输入 Firstname Lastname email protected cdn cgi l email protection Firstname midname Las
  • 将 PDFMaker 与 MS Outlook 结合使用

    我想将 Adob e PDFMaker 插件与 MS Outlook 2013 一起使用 使用 PDFMAKER 将多封电子邮件保存为 pdf https stackoverflow com questions 44723984 savin
  • Excel 公式或 VBA:在具有 2 列条件的单独表中查找匹配的地址 - 无辅助列

    我需要公式结构方面的帮助 我有2张桌子 我想找到 a 列和 b 列相等的匹配项并获取表 2 中的地址 它们将是唯一的条目 例如 项目信息表 A B C 1 Name Company Project 2 Chris Evans Apple I
  • 将 Excel 文件导入 Access 时更改数据类型

    将 Excel 文件导入 Access 时 有什么方法可以更改默认数据类型吗 顺便说一下 我使用的是 Access 2003 我知道有时我可以自由地将任何数据类型分配给正在导入的每个列 但这只能在我导入非 Excel 文件时进行 EDIT
  • 通过 VBA MS_Access 将 MS Access 表导出为 dBase 5

    如何通过 VBA 将单个表导出为 dBase 5 文件 目前我正在使用这个VBA代码 DoCmd TransferDatabase acExport dBase IV DB Total acTable DB Total C Data Fal
  • 如果单元格包含 1 个或多个关键字,则更改不同单元格的值

    我有一个列 其中包含一些字符串描述 例如 Bob davids mowing the lawn tipping cows 此外 我将在不同的工作表或列上列出关键字列表 例如工作关键字列表1 davids work 播放关键字列表 mowin
  • 删除 Excel 表格中的所有数据行(第一行除外)

    就在最近 我一直在尝试删除表中的所有数据行 除了第一个数据行 需要清除 一些正在执行的表可能已经没有行 所以我运行它时遇到问题 因为使用 DataBodyRange Rows Count在没有行 只有页眉和 或页脚 的表上会导致错误 我到处
  • 解析未完全加载 VBA 的网站

    尝试进行简单的网络解析 我的问题是页面在向下滚动之前无法完全加载 谷歌搜索已经提出可能使用硒 但由于我不知道如何使用它 我想我会在这里问 我使用的代码 Sub gfquote Dim oHttp As MSXML2 XMLHTTP Dim
  • 如何通过VBA代码修复仅在Excel共享模式下发生的运行时错误400

    我真的不知道400错误是什么原因造成的 下面的代码在正常模式下运行得很好 但是一旦我在共享模式下启用 Excel 并尝试使用用户表单 它就会给我 VBA 400 我在这里尝试做的是在向用户显示用户表单后更改形状的文本并禁用其 OnActio
  • Excel 的查找和查找下一个 VBA

    我一直在试图弄清楚如何处理这个问题 但基本上我想要一种方法来打印 B 列中的值 给定与 A 列匹配的特定值 例如 Column A Column B 1 ABC 2 DEF 3 GHI 1 JKL 我想在使用 find findnext 或
  • 在 Excel 中的文件夹内的所有文件上添加一列

    我在一个文件夹内有 250 个不同的 excel 文件 具有相同的布局 其中包含列A to F 我需要在列上添加新列G 传统的方法是打开每个文件并在以下位置添加新列G 有没有使用 Excel 宏或任何其他工具的简单过程来完成此任务 这个链接
  • VBA C# DLL 未注册

    我制作了一个 C NET dll 我想从 VBA 运行它而不注册它 我找到了解决方案there https stackoverflow com a 13333819并且它可以完美工作 但前提是程序集是使用 Framework NET 3 5
  • Excel:包括过滤器中的第一行

    我正在特别考虑 Excel VBA 的 AutoFilter 方法 但我认为我的问题也适用于 GUI 当我将筛选器应用于 Excel 工作表时 未选择任何内容 筛选器将应用于所有行从第二次开始 有什么方法可以包含第一行 以便它也可以被过滤掉
  • Outlook 中用于删除重复电子邮件的宏 -

    Public Sub RemDups Dim t As Items i As Integer arr As Collection f As Folder parent As Folder target As Folder miLast As
  • xlwt 可以在单元格中创建一个包含标题和链接变量的超链接吗?

    例如 如何更改以下行 使 test 为变量 T 且 http google com http google com 是变量L ws write 0 0 xlwt Formula test HYPERLINK http google com
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • 在 Django(Python) 中向用户提供 Excel(xlsx) 文件下载

    我正在尝试使用 Django 创建和提供 Excel 文件 我有一个 jar 文件 它获取参数并根据参数生成 excel 文件 并且它可以正常工作 但是 当我尝试获取生成的文件并将其提供给用户下载时 文件损坏了 它的大小为 0kb 这是我用
  • 如何从另一个 Excel 实例引用工作簿

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

    A B 1 Total 1 900 2 Product A 700 3 Product A 700 4 Product B 300
  • 如果一个数字写在方括号中,例如[5],这意味着什么

    我正在开发一个旧版 VBA Excel 应用程序 并偶然发现了一些代码行 其中长字符串 从文件中读取 被切成碎片 这些行看起来像这样 Range E16 Value Mid line 49 6 显然 写 6 意味着需要 6 个字符 但我从未

随机推荐

  • 我怎样才能摆脱角度的 $parent

    Here s Plunker 我在带有 ng include 的控制器中有一个外部模板 它根据按钮的单击事件显示和隐藏 它按要求工作 但在 ng include 模板中使用 parent 还有其他更好的方法吗 Html div div di
  • 如何从 C++ 生成均匀分布在 0 和 1 之间的随机双精度数?

    如何从 C 生成均匀分布在 0 和 1 之间的随机双精度数 当然我可以想到一些答案 但我想知道标准做法是什么 良好的标准合规性 随机性好 速度好 对于我的应用程序来说 速度比随机性更重要 多谢 PS 如果重要的话 我的目标平台是 Linux
  • Node.js:从不同域加载页面的 html

    我想知道如何加载托管在不同域上的 HTML 我正在使用 JavaScript 并且想要创建一个书签 以便我能够解析外部 HTML 我已经在谷歌上搜索了几个小时 但毫无结果 JavaScript 不允许发出跨域请求 这是一个很大的安全风险 相
  • 不计算列中重复值的值的累积和

    我在 R 中有这样的数据 x lt c 1 2 2 3 4 4 7 8 y lt c 300 200 200 150 100 100 30 20 df lt data frame x y 数据集的累积为 cum df lt data fra
  • 需要帮助防止无限循环。属性设置

    所以我有一个颜色选择器 用户可以使用 RGB 或 HSB 选择颜色 每个值都有滑块 属性 例如 当用户设置红色时 我将计算 HSB 值以反映新的颜色值 当用户设置 Hue 时 RGB 值将从 HSB 值重新计算 但请注意那里有一个循环 当我
  • Azure AD B2C:User.Identity.Name 为 null,但 User.Identity.m_instance_claims[9] 具有名称

    用户通过我的 Azure AD B2C Web 应用程序身份验证后 我尝试检索User Identity Name 然而 它是空的 然而 User Identity m instance claims 9 如下面的屏幕截图所示 确实具有正确
  • 如何以编程方式隐藏选项卡栏,然后展开视图以适合

    我从这个问题中得到了代码 如何以编程方式隐藏 UITabBarController 这很棒 但是视图现在无法扩展以适应选项卡栏留下的空间 我已经为视图设置了适当的 UIViewAutoresizingMasks 但我假设仅仅因为它的隐藏并不
  • 如何在文本按钮上放置图标?

    我想在同一个按钮上同时显示图像图标和文本 例如在 Word 中 我在按钮上设置了图标 但文本消失了 HANDLE hBmp HBITMAP LoadImage g hDllInstance MAKEINTRESOURCE IDB BITMA
  • 如何在 Spark 中设置 ORC 条带大小

    我正在尝试在 Spark 2 3 中生成数据集并以 ORC 文件格式编写 我正在尝试设置 ORC 条带大小和压缩大小的一些属性 我从中得到了暗示this所以帖子 但 Spark 不尊重这些属性 并且生成的 ORC 文件中的条带大小比我设置的
  • PHP:如何识别并更改数组中的重复值?

    好的 在 php 数组中有很多重复检测和删除的示例 使用 array unique 等 但是如果您想查找重复项 修改它们 再次循环检查直到所有重复项现在都是唯一的 该怎么办 我认为这就像使用 array filter 所以作为一个更具体的示
  • TFS:构建具有多种配置的解决方案

    设想 在 TFS 2013 上 我必须构建 300 多个项目 C 和 VC 分为大约 40 个解决方案 有些项目有多个发布和调试配置 例如一个项目可能有 3 个发布配置 如版本 1 版本 2 版本 3 x86 版本 4 x64 等 要求 我
  • 这是使用 Python 3 unittest 测试 stdout 的正确方法吗?

    假设我有一个提交文件 fileFromStudent py 其中唯一的内容是 print hello world 我想测试标准输出 看看学生是否正确写出了打印语句 根据我所读到的内容 我已经能够创建以下代码 from io import S
  • 序列化多态接口

    我希望从其关联的接口序列化一个多态类 这是我发现的这个问题 它似乎做了我需要做的事情 如何在Boost Serialization中创建序列化接口 然而 序列化是从类本身而不是接口完成的 到目前为止我得到了什么 网络消息 hpp using
  • 可以知道变量所在的内存部分吗?

    C 程序中有什么方法可以知道变量所在的部分吗 例如 char str Word1 char str2 Word2 printf String1 s Location p n str str lt would be on the stack
  • java 如何打印经过的时间(秒)

    在游戏循环的 run 方法中 我尝试打印程序在 java 中运行的时间 我只是尝试过System out println System nanoTime 1000000 因为这就是一秒有多少毫秒 如果您不知道 它会打印接近尾声的秒数 但我想
  • 角度2错误httpclientmodule

    have some error with httpclientmodule i have app module ts and there is code import NgModule from angular core import Br
  • SVG 填充颜色透明度/alpha?

    是否可以在 SVG 填充颜色上设置透明度或 Alpha 级别 我尝试向填充标签添加两个值 将其从fill 044B94 to fill 044B9466 但这不起作用 您使用附加属性 fill opacity 该属性采用 0 0 到 1 0
  • Windows Phone 键盘打开事件和属性

    在我的 Windows Phone 应用程序上 我需要根据键盘更改视图 我有几个问题 如何判断键盘是否打开 是否有键盘打开的视图事件 有没有办法获得键盘的高度 或者被阻止的 UI 区域大小 通过键盘 您可以通过以下方式访问键盘信息Windo
  • 使用 SWIG 作为参数传递给 C 库的错误值

    跟随我的three previous posts 我现在可以将托管结构数组传递给我的包装方法 以下是文件的摘录 packer i typedef struct int width input int height input frame t
  • VBA Excel/Word 查找和替换

    我正在开发一个 Excel 工作表 用于在 Word 文档中搜索特定实例 A 列 并将其替换为单元格 B 中的实例 我只想更改与搜索条件匹配的第一个实例 并继续循环该列到下一个实例 我写了下面的代码 如果我使用 wdReplaceAll 它