Word VBA函数在页面上查找浮动图像的位置?

Word VBA函数在页面上查找浮动图像的位置?,vba,ms-word,Vba,Ms Word,给定带有方形环绕的浮动图像,相对于段落垂直放置: imageShape.RelativeVerticalPosition = wdRelativeVerticalPositionParagraph 你如何得到它在页面上的实际垂直位置(以点为单位) 我试过: 选择它并使用信息(wdVerticalPositionRelativeToPage),这将给出锚定位置,而不是图像位置 将其转换为wdRelativeVerticalPositionPage并读取.Top位置,该位置起作用,但随后将其转换回

给定带有方形环绕的浮动图像,相对于段落垂直放置:

imageShape.RelativeVerticalPosition = wdRelativeVerticalPositionParagraph
你如何得到它在页面上的实际垂直位置(以点为单位)

我试过:

  • 选择它并使用
    信息(wdVerticalPositionRelativeToPage)
    ,这将给出锚定位置,而不是图像位置

  • 将其转换为
    wdRelativeVerticalPositionPage
    并读取
    .Top
    位置,该位置起作用,但随后将其转换回
    wdRelativeVerticalPositionPage
    再次移动图像

  • 这个问题的动机在于

    例如:

    Dim RelPos As Long
    With imageShape
      RelPos = .RelativeVerticalPosition
      .RelativeVerticalPosition = wdRelativeVerticalPositionMargin
      MsgBox .Top
      .RelativeVerticalPosition = RelPos
    End With
    
    这在不改变图像位置的情况下对我有效


    如果要从页面顶部计算位置,请将wdRelativeVerticalPositionMargin更改为wdRelativeVerticalPositionPage

    Genius@macropod!Word在相对页边距和相对段落之间的转换没有相同的错误,我们可以通过添加顶部页边距来计算实际位置。@CharlesW好的,如果您想从页面顶部计算位置,请将wdRelativeVerticalPositionMargin更改为wdRelativeVerticalPositionPage…哎呀@由于某种原因,macropod不能在原位工作(我没有正确地进行测试,真丢脸!)。当我在带有RelativeVerticalPosition=…段落和负片的图像上使用您的代码时,我看到的是,当我这样做时,图像会向上或向下跳转。RelativeVerticalPosition=wdRelativeVerticalPositionMargin,当图像恢复时,图像会向后跳转。