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