MS Word VBA代码将图像与右上角对齐
我试图编写一个VBA宏,将图像与页面右上角对齐,并将文本换行设置为“文本后面”和“页面上的固定位置” 通常我会选择图像并通过对话框进行所有设置。但过了一段时间就变得乏味了。我想知道是否有一种方法可以通过编程实现。我希望我可以打开页眉,粘贴在我的页眉图像中,然后单击一个宏按钮,使宏与仍然选中的图像对齐 我尝试录制一个宏来记录我的操作,但宏没有录制我的任何对话动作(在文本后面、固定页面位置等)。因此,该方法没有提供解决方案。我尝试了页面标题内外的图像,但没有成功 是否可以让某些VBA代码与当前选定的图像对象对齐?理想情况下,我会打开页眉,粘贴页眉图像,然后运行VBA宏来执行上述四个操作(文本后面、页面上的固定位置、顶部与页面对齐、右侧与页面对齐)。我希望有人能告诉我怎么做,或者给我一些文档或例子来说明怎么做 更新 由于某种原因,我无法在论坛上发帖,所以我花了几天时间研究这个问题,最后为下一个人拼凑出了这个解决方案。我希望我知道在哪里可以找到这方面的手册或教程 但唯一的办法似乎是从网上论坛拼凑解决方案。这是我的贡献!:-)MS Word VBA代码将图像与右上角对齐,vba,ms-word,Vba,Ms Word,我试图编写一个VBA宏,将图像与页面右上角对齐,并将文本换行设置为“文本后面”和“页面上的固定位置” 通常我会选择图像并通过对话框进行所有设置。但过了一段时间就变得乏味了。我想知道是否有一种方法可以通过编程实现。我希望我可以打开页眉,粘贴在我的页眉图像中,然后单击一个宏按钮,使宏与仍然选中的图像对齐 我尝试录制一个宏来记录我的操作,但宏没有录制我的任何对话动作(在文本后面、固定页面位置等)。因此,该方法没有提供解决方案。我尝试了页面标题内外的图像,但没有成功 是否可以让某些VBA代码与当前选定的
刚刚发现这个特性来回答我自己的问题。请参见问题贴中的答案
Sub AlignTopRight()
' Paste an image into Word so it is still selected
' Then invoke this macro to align it to the top right corner
' And to set it behind text, fixed position on the page
Application.ScreenUpdating = False
Dim Shp As Shape
On Error Resume Next
'I'm not sure if this block is required, but it works
Set Shp = Selection.InlineShapes(1)
If Not Shp Is Nothing Then
Set Shp = Selection.InlineShapes(1).ConvertToShape
Else
Set Shp = Selection.ShapeRange.Item(1)
End If
If Not Shp Is Nothing Then
With Shp
.LockAspectRatio = True
' for absolute positioning
'.Left = CentimetersToPoints(5.5)
'.Top = CentimetersToPoints(0.5)
'.Width = CentimetersToPoints(2.5)
'put the image behind text
.WrapFormat.Type = wdWrapBehind
'this was the tricky part, discovering this
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.RelativeVerticalPosition = wdRelativeVerticalPositionPage
.Top = wdShapeTop 'if you say =0, it sets the AbsolutePx in the dialog
.Left = wdShapeRight 'these wdShapeXX objects set the Align field in the dialog
End With
End If
Set Shp = Nothing
Application.ScreenUpdating = True
End Sub