Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 删除文本形状后面的内容_Vba_Ms Word - Fatal编程技术网

Vba 删除文本形状后面的内容

Vba 删除文本形状后面的内容,vba,ms-word,Vba,Ms Word,我正在尝试从Word文档中删除水印 我正在尝试用宏删除文本形状/图像后面的内容 你的代码对我来说很好,它删除了所有包装在文本后面的图像。你确定这些水印是真的吗?Ms word具有水印功能 如果您想以编程方式删除它,那么已经有了(此on添加了保护,因此您必须对其进行修补)。它变得越来越复杂,不仅仅是形状,因为它是一个整体 简而言之,下面是一些代码,让您了解如果它是水印对象,该怎么做。您可以计算标题形状以删除所有相应的索引,或者您可以知道Word随机命名的所有标题的名称列表。(我使用宏记录器快速回

我正在尝试从Word文档中删除水印

我正在尝试用宏删除文本形状/图像后面的内容


你的代码对我来说很好,它删除了所有包装在文本后面的图像。你确定这些水印是真的吗?Ms word具有水印功能

如果您想以编程方式删除它,那么已经有了(此on添加了保护,因此您必须对其进行修补)。它变得越来越复杂,不仅仅是形状,因为它是一个整体

简而言之,下面是一些代码,让您了解如果它是水印对象,该怎么做。您可以计算标题形状以删除所有相应的索引,或者您可以知道Word随机命名的所有标题的名称列表。(我使用宏记录器快速回答了一些代码位并非完全有用,主要是所有的.Select方法)

请记住,如果水印是其他对象,这可能不起作用


希望你觉得它有用

您的代码对我来说很好,它删除了所有包装在文本后面的图像。你确定这些水印是真的吗?Ms word具有水印功能

如果您想以编程方式删除它,那么已经有了(此on添加了保护,因此您必须对其进行修补)。它变得越来越复杂,不仅仅是形状,因为它是一个整体

简而言之,下面是一些代码,让您了解如果它是水印对象,该怎么做。您可以计算标题形状以删除所有相应的索引,或者您可以知道Word随机命名的所有标题的名称列表。(我使用宏记录器快速回答了一些代码位并非完全有用,主要是所有的.Select方法)

请记住,如果水印是其他对象,这可能不起作用


希望你觉得它有用

Word所称的水印不是文档正文中格式化为“隐藏文本”的形状。相反,它们是文档标题中的形状对象。没有简单的方法区分文档标题中的水印和可能存在的其他形状对象,因为水印可以由各种不同的形状类型组成。根据该警告,请尝试使用以下宏删除使用文本效果的内置水印:

Sub Demo()
Application.ScreenUpdating = False
Dim HdFt As HeaderFooter, Shp As Shape
For Each HdFt In ActiveDocument.Sections.First.Headers
  For Each Shp In HdFt.Shapes
    If Shp.Type = msoTextEffect Then
      Shp.Delete
    End If
  Next
Next
Application.ScreenUpdating = True
End Sub

Word所称的水印不是文档体中格式化为“隐藏文本”的形状。相反,它们是文档标题中的形状对象。没有简单的方法区分文档标题中的水印和可能存在的其他形状对象,因为水印可以由各种不同的形状类型组成。根据该警告,请尝试使用以下宏删除使用文本效果的内置水印:

Sub Demo()
Application.ScreenUpdating = False
Dim HdFt As HeaderFooter, Shp As Shape
For Each HdFt In ActiveDocument.Sections.First.Headers
  For Each Shp In HdFt.Shapes
    If Shp.Type = msoTextEffect Then
      Shp.Delete
    End If
  Next
Next
Application.ScreenUpdating = True
End Sub

添加水印后,Word会将其添加到所有三种标题类型中—您的代码只会尝试将其从主标题中删除。“PowerPlusWaterMarkObject44576390”参考是文档特定的,因此不适用于其他文档中的水印。感谢@Macrood的帮助,对于这三种类型的标题,他是否需要(根据)删除操作的主、首页和偶数页?另外,也许我应该说它是特定于文档的,但这就是重点,您的代码似乎已经找到了如何遍历所有形状的答案。谢谢当添加水印时,Word会将它们添加到所有三种头类型中-您的代码只会尝试从主头中删除它们。“PowerPlusWaterMarkObject44576390”参考是文档特定的,因此不适用于其他文档中的水印。感谢@Macrood的帮助,对于这三种类型的标题,他是否需要(根据)删除操作的主、首页和偶数页?另外,也许我应该说它是特定于文档的,但这就是重点,您的代码似乎已经找到了如何遍历所有形状的答案。感谢信寄于:。关于交叉邮寄礼仪,请阅读:交叉邮寄地址:。有关交叉邮寄礼仪,请阅读:
Sub Demo()
Application.ScreenUpdating = False
Dim HdFt As HeaderFooter, Shp As Shape
For Each HdFt In ActiveDocument.Sections.First.Headers
  For Each Shp In HdFt.Shapes
    If Shp.Type = msoTextEffect Then
      Shp.Delete
    End If
  Next
Next
Application.ScreenUpdating = True
End Sub