如何使用excel-vba创建word文档删除部分

2024-01-30

您好,提前谢谢您。

我正在使用 VBA 从 Excelfile 创建一个非常复杂的 Word 文档。应可以激活某些内容,并且单元格中写入的文本应传输到 Word 文档。我已经做好了。但如果它没有被激活,标签“”将被删除,不留下任何东西。这意味着它不仅要删除文本,还要删除完整的“行”。由于 line 可能是一个部分,我不确定 just line 在这里是否是正确的词。

现在我找到它们并将其替换为“”使用:

With WordDoc.Content.Find
   .Execute FindText:=ReplacementTextF, ReplaceWith:="", Replace:=2
End With

但我怎样才能删除该行/部分呢?

EDIT1:

Example:

由于替换是可选的,用户可以在文档中选择他想要的文本。因此,也许不需要 ReplacementText4。所以我需要删除“>”并删除项目符号。这就是我所说的删除行/节的意思。


这似乎是一个关于“查找/替换”的问题,但更正确的是一个关于“查找”的问题,然后在找到的文本位置执行某些操作。当查找/替换的选项未涵盖替换条件时,这是一个常见的要求。该要求通过以下模式解决。

    With <Range>
        With .Find
            <setup find criteria for find>
            .wrap = wdFindStop ' This is essential
        End with
        Do while .Find.Found
            <do your actions here>
            <use .duplicate if you want to do something with the found range
            <e.g. to delete the paragraph with the found text
            .duplicate.paragraphs(1).range.delete
            <move the found range to after the end of the found range>
            .collapse direction:=wdcollapseend
            .moveend unit:=wdCharacter, count:=1
            .find.execute ' must include this to find next instance

        loop

    End with <range>

将此模式转换为代码给出

Sub DeleteParasWithText(this_doc As Word.Document, this_find_text As String)

    With this_doc.content
            With .Find
                .ClearFormatting
                .Replacement.ClearFormatting
                .text = this_find_text
                .Wrap = wdFindStop
                .Format = False
                .MatchCase = False
                .MatchWholeWord = False
                .MatchByte = False
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
                .Execute

            End With

            Do While .Find.Found
                ' In the OP case we just want to delete the paragraph
                ' containing the found text
                .Duplicate.Paragraphs(1).Range.Delete
                .Collapse Direction:=wdCollapseEnd
                .Move unit:=wdCharacter, Count:=1
                .Find.Execute
            Loop

        End With
End Sub

在介绍这一点时,我还要感谢@Macropod,因为我从他过去提出的许多查找/替换示例中得出了这种模式。

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

如何使用excel-vba创建word文档删除部分 的相关文章

  • mysql 如何比较 dd-mon-yy 格式的日期

    如何比较格式中的日期dd mon yy 例如 2014 年 11 月 10 日 gt 2013 年 10 月 7 日 select expiration date from grocery where expiration date lt
  • 在 C# 中更改 Excel 单元格格式

    如何使用 C 中的 Microsoft Excel 12 0 库更改 Excel 中单元格的格式 更具体地说 我想将给定单元格更改为文本格式 我读过了 net c 改变Excel单元格格式 https stackoverflow com q
  • 在 Ruby 中创建 Microsoft Word (.docx) 文档

    有没有一种简单的方法可以在 Ruby 应用程序中创建 Word 文档 docx 实际上 就我而言 它是一个由 Linux 服务器提供服务的 Rails 应用程序 类似的宝石Prawn http prawn majesticseacreatu
  • 使用 VBA 清除 Excel 单元格格式而不清除 NumberFormat

    是否可以在不改变 的情况下清除Excel单元格格式和内容 使用VBA NumberFormat 给定的单元格 我尝试过 ClearContents ClearFormats 但 ClearFormats 删除了数字格式细胞也 请建议 你可以
  • 在 Excel 2010 中添加基本功能区的 VBA 代码?

    我已经使用产品在 C addin express 中为 Excel 编写功能区 但我需要知道如何使用 vba 生成功能区 有人能为我提供一些代码来为此在工具栏中插入一个额外的功能区吗 我所说的功能区是指上面写着 公式 数据 评论 等的地方
  • 连接两列之间的排列

    我需要有关 Excel 作业的帮助 Name City John London Maxx NY Ashley DC Paris 解决这个问题的方法必须是 John london John NY John DC John Paris Maxx
  • 如何填充上次保存的用户和文件的上次保存日期

    我有下面的代码从文件夹中获取文件名 Sub GetFileNames Assessed As T2 Dim sPath As String sFile As String Dim iRow As Long iCol As Long Dim
  • 在 EXCEL 中使用多个表的条件求和

    我有一个表 我试图根据两个参考表的值来填充该表 我有各种不同的项目 类型 1 类型 2 等 每个项目运行 4 个月 并且根据其生命周期的不同时间 花费不同的金额 这些成本计算显示在Ref Table 1 参考表1 Month a b c d
  • Word VBA“项目不可见”

    有谁知道如何使模板在 Word 2007 中可见 我创建了一个模板 Experiments dotm 使用加载项添加它 但是当我尝试在其中创建模块时 收到错误消息 项目无法查看 关于 项目无法查看 问题的解释可以参见here http ms
  • 如何删除Excel 2010单元格中的某些字符

    在 A 列中 我有很多类似这样的名称 约翰 史密斯 我仍然希望它们在 A 中 但 被删除了 If John Smith 位于单元格 A1 中 然后使用以下公式执行您想要的操作 SUBSTITUTE SUBSTITUTE A1 内部 SUBS
  • Excel VBA 选择.替换,如果替换,则将文本放在替换行的 a 列中

    我有一些宏 例如 Columns F M Select Selection Replace What Replacement LookAt xlPart SearchOrder xlByRows MatchCase True SearchF
  • 如何刷新幻灯片放映中的活动幻灯片?

    基于我的最后一个问题 https stackoverflow com questions 14503054 change the image of an image shape我得到了正确的代码来更改形状的图像 不幸的是 这不会更新活动演示
  • excel中的多轴折线图

    我正在寻找类似于下图中的多轴折线图 这是由 amcharts 制作的 JavaScript 图表 excel有没有可以绘制图表的选项 请注意 有 3 个 Y 轴和 3 个折线图 可让您比较数据 是否有可能获得超过 3 个数据点 每个数据点在
  • 在 VBA 循环中导出查询以根据字符串值选择数据

    我有一个名为 TEST 的表 下面的代码根据 Territory 列中的唯一值循环导出查询 该代码应该根据 Territory 列中的唯一值将数据导出到 Excel 文件 因此每个 Territory 值都有它自己的文件 我在设置 sql
  • 在 OpenXML 中应用数字格式

    我正在尝试使用 OpenXML 从头开始 创建 Excel 电子表格 并且一切正常 将实际值转储到实际单元格中 但现在我正在尝试将数字格式应用于列 但遇到了问题 我有styles xml看起来像这样
  • 如何从 PowerQuery/Excel 数据模型中具有多对多关系的两个表中选取数据?

    这是我第一次在 stackoverflow 上提问 让我们看看进展如何 我正在尝试将不同规模资产的场景管理器连接到其所属的成本时间序列 以便我可以计算属于特定场景的资产配置的现金流 这就是我需要连接的两个表 简而言之 的样子 场景管理器 S
  • 使用 Apache POI 和 Java 创建 Excel (.xlsx) 文件后文件损坏

    我已经使用 Apache POI API 使用 Java 成功创建了 xlsx 格式的工作簿 Excel 我的代码如下 在 D 盘创建一个名为 RiponAlWasim xlsx 的文件 Workbook wb new XSSFWorkbo
  • 当行数 = 0 时删除 Excel 列中的单元格

    我试图删除电子表格中某一列中的所有单元格 0 并 召唤 不在该列顶部的值 我目前正在使用 Dim row index As Integer Dim col index As Integer row index 7 col index 16
  • 检查所选单元格是否在特定范围内

    我正在使用 C 创建 Excel 加载项 如何检查选定的 或代码中范围表示的单元格 是否在特定范围内 例如如何检查单元格 P 5 是否在 A 1 Z 10 范围内 Use Application Intersect 像这样 在VBA中 Su
  • 在网页中编辑Word文档

    我意识到这个问题以前已经被问过很多次了 但现在很多都已经老了 没有答案 我需要用户能够从我的网页编辑Word文档 是否有任何编辑器或组件可以让我执行此操作 一些背景知识 用户将能够将 Word 文档上传到我的网站 然后从那里查看 编辑它 用

随机推荐

  • 根据上一行中的值进行分组

    我有一列包含值列表 如下所示 100 200 300 500 600 650 1000 我想做一个Groupby 或类似的有效构造 以获取每行值在范围内的批量行100最后一行的 在这种情况下 上面示例中生产的批次将是 100 200 300
  • 使用一次性模式实现接口

    注意 据我所知 这只是 Visual Studio 2015 的功能 我怎样才能编辑使用一次性模式实现接口 option 这不是关于如何实现 Dispose 模式及其变体的问题 而是如何编辑选项 使用 Disposable 模式实现接口 的
  • 在 C# 中显示 unicode 文本

    我的应用程序在文本框和链接标签上显示英语 日语和中文字符 目前 我检查是否有 unicode 字符并将字体更改为 MS Mincho 或者将其保留为 Tahoma 现在 MS Mincho 可以正常显示日语 但对于中文我必须使用 Sim S
  • 在 CherryPy 中处理 HTTP/1.1 升级请求

    我正在使用 CherryPy 作为网络服务器 但希望它能够处理HTTP 1 1 Upgrade要求 因此 当客户端发送 OPTIONS HTTP 1 1 Upgrade NEW PROTOCOL 1 0 Connection Upgrade
  • ASP.NET MVC 导航和用户界面设计

    简洁版本 您是否知道有什么方法可以使用 CSS 而无需使用 Javascript 来获取输入按钮 提交 和锚标记来以视觉方式呈现相同的内容 长版 我正在开发一个 ASP NET MVC 应用程序 该站点包含用于查看详细信息或创建或更新我的模
  • 平滑地调整容器大小

    我已经使用 svelte 一段时间了 它很棒 但有一件事我一次又一次地遇到 我们来看下面的代码 div class this div should smoothly change size each list as item item di
  • 泛型类型参数是否转换为原始类型的对象?

    考虑这段代码 public class Main public static void main String args Cat
  • Python 3.x BaseHTTPServer 或 http.server

    我正在尝试制作一个 BaseHTTPServer 程序 我更喜欢使用 Python 3 3 或 3 2 我发现文档很难理解要导入的内容 但尝试更改导入 from BaseHTTPServer import BaseHTTPRequestHa
  • 安装 CPLEX 12.6 for Python 时出错

    我正在尝试从 ILOG 目录中现有的 setup py 文件安装 CPLEX for python 我正在使用 Windows 8 32 位和 python 2 7 我正在使用此命令进行安装 python setup py install
  • 如何指定在 SpringData 和 QueryDsl 中使用的多列 OrderSpecifier?这可能吗

    所以我有以下查询 public Iterable
  • constexpr 表达式和变量生存期,g++ 和 clang 不一致的示例

    考虑简单的 C 11 代码 template
  • 多个 Hadoop 文件系统实例

    我有一堂课 为了便于阅读 我删除了 try catch public class HadoopFileSystem private FileSystem m fileSystem null public HadoopFileSystem C
  • 从移动设备测量 Web 应用程序的性能

    想要从我的 Android 和 iOS 设备测量移动设备 Web 应用程序 在 Microsoft PowerApps 中设计 的性能 基本上 我对 UI 性能 KPI 和页面之间的响应时间更感兴趣 想要从设备而不是模拟器执行此操作 是否有
  • SQL 其中日期时间列等于今天的日期?

    如何从创建日期是今天日期的数据库中获取记录 SELECT Title Firstname Surname Company name Interest FROM dbo EXTRANET users WHERE DATE Submission
  • 引用 dll 时忽略内部版本号

    我有一个 NET 4 0 项目 C 的解决方案 它生成一个延迟签名的 dll 我对其进行点模糊处理和签名 EDIT 这就是我对 dll 进行版本控制的方式 assembly AssemblyVersion 0 7 0 assembly As
  • Flutter:检测到滚动时隐藏和显示应用栏

    我在使用应用栏动画时遇到问题SilverAppBar 在我的应用程序中 因此 问题是当我位于列表中间并向上滚动时 应用程序栏不会出现 但当滚动到达项目列表顶部时它就会出现 我已经测试过snap参数并给出true 但不是我期望的结果 我有关于
  • ipdb 显示颜色代码而不是颜色

    Use import ipdb ipdb set trace 插入断点 第一次断点时颜色很好 但第二次断点时显示颜色代码而不是真实颜色 按c 等等 1 32m 72 1 33m 1 32mimport 0m 0mipdb 0m 1 33m
  • cellmap中找不到Frame的解决方法

    下列 在单元格图中找不到框架 https github com dompdf dompdf issues 657 https github com dompdf dompdf issues 657 是互联网上众所周知的问题 但我找不到解决办
  • 打印出Python脚本中的所有代码

    如何打印Python脚本的内容 例如 如果我有这个 毫无意义的示例 脚本 my var 1 1 another thing this is my string 我可以添加哪一行来恢复全部内容 my var 1 1 another thing
  • 如何使用excel-vba创建word文档删除部分

    您好 提前谢谢您 我正在使用 VBA 从 Excelfile 创建一个非常复杂的 Word 文档 应可以激活某些内容 并且单元格中写入的文本应传输到 Word 文档 我已经做好了 但如果它没有被激活 标签 将被删除 不留下任何东西 这意味着