当我在word宏中使用它将所有图像缩小到9.3cm时,此功能起作用:
Sub ShrinkWordImages()
Dim iShp As InlineShape
For Each iShp In ActiveDocument.InlineShapes
iShp.LockAspectRatio = msoTrue
iShp.Width = CentimetersToPoints(9.3)
Next iShp
End Sub
但是当我尝试在powerpoint宏中运行它时,引用一个word文档(所有引用都已正确到位),word文档中的图像就会消失。 从powerpoint我使用它,它唯一的区别是:
For Each iShp In wrdDoc.InlineShapes
正确声明和设置wrdDoc的地方。
宏完成后,Powerpoint也会崩溃。 我尝试将iShp改为变体,但这没有帮助。
编辑:我现在已经确定CentimetersToPoints(9.3)在powerpoint中返回0,而在Word中返回263左右。现在调查一下。
答案 0 :(得分:1)
PowerPoint中没有像CentimetersToPoint
这样的内容,您可以根据自己的情况调用它。您需要引用Word对象变量来获取维度。也许是这样的:
Sub CentimetersTo_Word()
Dim WRD As Object
Set WRD = CreateObject("Word.Application")
Debug.Print WRD.centimeterstopoints(10)
End Sub
因此,只需在CentimetersToPoint
答案 1 :(得分:0)
只是制作了我自己的方法......并且有效。
Function CmToPt(pt As Single) As Single
CmToPt = pt * 28.35
End Function
不确定为什么正常的人没有工作,但这就行了。