Vba 在ms word中编写代码以更改Visual Basic中图像的位置

Vba 在ms word中编写代码以更改Visual Basic中图像的位置,vba,ms-word,Vba,Ms Word,由于ms word不允许录制宏来更改已插入和选定图像的位置,因此我需要在visual basic中编写宏 它需要执行以下操作: 1.给所选图片加边框 2.将其位置更改为页面的下端。如果文档(ActiveDocument)中只有一个InlineShape),以下代码可以满足您的两种需要: Sub qSolved() With ActiveDocument.InlineShapes(1) 'border .Line.Weight = xlThin

由于ms word不允许录制宏来更改已插入和选定图像的位置,因此我需要在visual basic中编写宏

它需要执行以下操作: 1.给所选图片加边框
2.将其位置更改为页面的下端。

如果文档(
ActiveDocument
)中只有一个
InlineShape
),以下代码可以满足您的两种需要:

Sub qSolved()

    With ActiveDocument.InlineShapes(1)
        'border
        .Line.Weight = xlThin
        'conversion to Shape
        .ConvertToShape
    End With

    'bonus :) -if you need to set position of newly created Shape
    With ActiveDocument.Shapes(1)
        .Top = 100
        .Left = 100
    End With
End Sub

到目前为止你试过什么?您可以从在Excel中执行类似的“记录宏”开始。虽然工作表/文档对象不同,但是
形状
集合非常相似,您可能可以开始使用,如果使用Word对象浏览器,您可能可以自己解决此问题。即使您无法自己开始编码,也很难帮到您,因为您的问题不精确。如果你希望得到任何支持,你必须非常非常精确。。。那么,只有一张照片吗?它是位于文本(
InlineShape
)还是浮动(
Shape
)中?这是什么意思
页面的下端
-没有这样的,请详细解释@这只是一张照片。默认情况下,插入word文档的图片是内联的。我所要做的就是放置一个边框并将其更改为浮动边框(通过宏)。忘掉“页面的下端”。如果您需要任何其他信息,请发表评论。谢谢…你太棒了!!这就是我想要的东西。它工作得很好……)我有个问题。实际上,文档中有不止一张图片。我想分别选择每一个,点击宏按钮&它将给出一个边框并将其更改为浮动边框(仅该图片,其他图片除外)。你能更新代码吗?很抱歉,由于我对问题的错误解释而浪费了您的精力。请尝试使用ActiveDocument.InlineShapes(1)将
更改为使用Selection.InlineShapes(1)
。奖金部分无法正常工作,因此请将其删除或尝试将第一行更改为:
带ActiveDocument.Shapes(ActiveDocument.Shapes.Count)
您的代码工作正常,但有一点除外:当图像浮动时,文档中的文本不会自动调整自身,为文档中的图片留出空间。如何为此编写代码???@SumitPal,我认为这并不像看上去那么容易。我给你的建议是问另一个描述这个新问题的问题。