VBA 从 word 文档中删除 jpg 文件并删除使用书签的页面
VBA to remove jpg file from word doc and to delete pages using books marks
美好的一天!
正在研究使用 VBA 通过用户表单按下按钮从 word 文档中删除 photo/jpg。示例:如果我想创建一个备忘录,它会保留它。如果我想创建另一个表格(不是备忘录)然后删除照片。我使用右侧格式的扭曲文本预先定位了照片。我试过在word中使用Find/Search函数来寻找特殊的图形来替换它。 >g 但找不到我要删除的 jpg。 Word 似乎没有检测到 photo/jpg。看图
Picture
我试过的代码;
Private Sub CommandButton4_Click()
ActiveDocument.Bookmarks("memodep").Delete
ActiveDocument.Bookmarks("memounit").Delete
ActiveDocument.Bookmarks("memoloc").Delete
ActiveDocument.Bookmarks("memoaddress").Delete
Do While ActiveDocument.InlineShapes.Count > 0
ActiveDocument.InlineShapes(1).Delete
Loop
Intro.Hide
OPORD.Show
或
Dim dod.jpg As InlineShape
For Each objPic In ActiveDocument.InlineShapes
objPic.Delete
Next objPic
End Sub
Intro.Hide
OPORD.Show
如果图形与文本内联,您可以 select 它并创建一个额外的书签来包围它。然后使用与书签内文本删除相同的代码。
如果图形是浮动的,则它锚定到文本。 (文件>选项>显示>对象锚点 使其可见)删除锚定图形的段落也会删除图形。
我怀疑它是浮动的,因为您使用 InlineShapes 的代码不工作。
“我的照片 pre-positioned 使用了右侧格式的扭曲文本。”
这意味着徽标是 Shape
而不是 InlineShape
。
假设您只有一个,ActiveDocument.Shapes(1).Delete
应该可以完成。
当然,当您删除徽标时,其右侧的所有文本都会移回左边距。
编辑:
您的问题遗漏了徽标位于 header.
中的重要信息
您的第一个任务是确定 header 包含在哪个部分。您的第二个任务是确定徽标包含在 3 个可能的 header 中的哪个部分。
为您指明正确的方向:
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes(1).Delete
顺便说一句,dod.jpg 不是 VBA
中变量的有效名称
美好的一天!
正在研究使用 VBA 通过用户表单按下按钮从 word 文档中删除 photo/jpg。示例:如果我想创建一个备忘录,它会保留它。如果我想创建另一个表格(不是备忘录)然后删除照片。我使用右侧格式的扭曲文本预先定位了照片。我试过在word中使用Find/Search函数来寻找特殊的图形来替换它。 >g 但找不到我要删除的 jpg。 Word 似乎没有检测到 photo/jpg。看图
Picture
我试过的代码;
Private Sub CommandButton4_Click()
ActiveDocument.Bookmarks("memodep").Delete
ActiveDocument.Bookmarks("memounit").Delete
ActiveDocument.Bookmarks("memoloc").Delete
ActiveDocument.Bookmarks("memoaddress").Delete
Do While ActiveDocument.InlineShapes.Count > 0
ActiveDocument.InlineShapes(1).Delete
Loop
Intro.Hide
OPORD.Show
或
Dim dod.jpg As InlineShape
For Each objPic In ActiveDocument.InlineShapes
objPic.Delete
Next objPic
End Sub
Intro.Hide
OPORD.Show
如果图形与文本内联,您可以 select 它并创建一个额外的书签来包围它。然后使用与书签内文本删除相同的代码。
如果图形是浮动的,则它锚定到文本。 (文件>选项>显示>对象锚点 使其可见)删除锚定图形的段落也会删除图形。
我怀疑它是浮动的,因为您使用 InlineShapes 的代码不工作。
“我的照片 pre-positioned 使用了右侧格式的扭曲文本。”
这意味着徽标是 Shape
而不是 InlineShape
。
假设您只有一个,ActiveDocument.Shapes(1).Delete
应该可以完成。
当然,当您删除徽标时,其右侧的所有文本都会移回左边距。
编辑: 您的问题遗漏了徽标位于 header.
中的重要信息您的第一个任务是确定 header 包含在哪个部分。您的第二个任务是确定徽标包含在 3 个可能的 header 中的哪个部分。
为您指明正确的方向:
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes(1).Delete
顺便说一句,dod.jpg 不是 VBA
中变量的有效名称