vba设置word图片格式

11-02

一、旋转图片

Dim blnIsInlineShape As Boolean

If Selection.Type = wdSelectionInlineShape Then

blnIsInlineShape = True

Selection.InlineShapes(1).ConvertToShape

End If

Dim intTurn As Integer

intTurn = InputBox("请输入图形要旋转的角度值" & vbCrLf & "正数表示顺时针,负数表示逆时针。", "图形旋转", 30)

Selection.ShapeRange.IncrementRotation intTurn

End Sub

二、将文档中的每张图片的版式转换为嵌入式图形

For Each s In Documents("MyDoc.doc").Shapes

If s.Type = msoPicture Then

s.ConvertToInlineShape

End If

Next s

三、设置图片的高度宽度

Mywidth=10'10为图片宽度(厘米)

Myheigth=10'10为图片高度(厘米)

For Each iShape In ActiveDocument.InlineShapes

iShape.Height = 28.345 * Myheigth

iShape.Width = 28.345 * Mywidth

Next iShape

四、得到图片的像素

Sub 获取嵌入型图片的像素()

On Error Resume Next

With Selection.Range.Find

.ClearFormatting

.Replacement.ClearFormatting

.Execute findtext:="^g", MatchWildcards:=False, Wrap:=wdFindStop

MsgBox "该图片的像素为:" & Selection.InlineShapes(1).Width _

& " * " & Selection.InlineShapes(1).Height

End With

End Sub

五、复制图片到word文档中

Dim objWordApp As Word.Application

Dim objWord As Word.Document

Range(Cells(3, 2), Cells(11, 11)).Select

Selection.CopyPicture

Set objWordApp = CreateObject("Word.Application")

Set objWord = objWordApp.Documents.Add

objWord.Application.Visible = True

objWord.Application.Selection.Paste

Set objWord = Nothing

Set objWordApp = Nothing