Word VBA宏,将所有定位点移动到浮动图像的顶部
我有一些大文档,每个文档有+50个图像。问题是它们中的大多数都是浮动图像。位置是好的,但图像定位在错误的位置,通常定位到页面的最后一行。我想把所有的锚移动到图片浮动的位置 评论中的精确描述:我想读取图像的位置,并将其锚定移动到此位置。因此,如果图像位于第3页的中间,锚定在第3页的底部,那么我想把锚移到这页的中间。并对所有图像执行相同的操作 可能吗 我不能让它们内联,这会改变我文档的结构。 我试着将它们移动一些值,但宏不会改变锚点的位置 尝试: 尝试:Word VBA宏,将所有定位点移动到浮动图像的顶部,vba,ms-word,Vba,Ms Word,我有一些大文档,每个文档有+50个图像。问题是它们中的大多数都是浮动图像。位置是好的,但图像定位在错误的位置,通常定位到页面的最后一行。我想把所有的锚移动到图片浮动的位置 评论中的精确描述:我想读取图像的位置,并将其锚定移动到此位置。因此,如果图像位于第3页的中间,锚定在第3页的底部,那么我想把锚移到这页的中间。并对所有图像执行相同的操作 可能吗 我不能让它们内联,这会改变我文档的结构。 我试着将它们移动一些值,但宏不会改变锚点的位置 尝试: 尝试: 你的解决方案太棒了!我不能要求更多了。谢谢你
你的解决方案太棒了!我不能要求更多了。谢谢你的帮助。有了这个宏,我的宏就完成了@你的解决方案太棒了!我不能要求更多了。谢谢你的帮助。有了这个宏,我的宏就完成了@大脚架
Sub Demo()
Application.ScreenUpdating = False
Dim i As Long, vPos As Single, Rng As Range
With ActiveDocument
For i = .Shapes.Count To 1 Step -1
With .Shapes(i)
.RelativeVerticalPosition = wdRelativeVerticalPositionPage: vPos = .Top
With .Anchor
If .Information(wdVerticalPositionRelativeToPage) > vPos Then
Set Rng = .Paragraphs.First.Range
Set Rng = Rng.GoTo(What:=wdGoToBookmark, Name:="\page")
With Rng
Do While .Paragraphs(1).Range.Characters.Last.Information(wdVerticalPositionRelativeToPage) < vPos
.Start = .Paragraphs(1).Range.End
Loop
.Collapse wdCollapseStart
End With
Rng.FormattedText = .FormattedText
.Delete
End If
End With
End With
Next
End With
Application.ScreenUpdating = True
End Sub