首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA POWERPOINT:收缩powerpoint中的Word图片

VBA POWERPOINT:收缩powerpoint中的Word图片
EN

Stack Overflow用户
提问于 2013-04-16 12:29:24
回答 2查看 634关注 0票数 0

当我在word宏中使用它将所有图像缩小到9.3cm时,此函数工作:

代码语言:javascript
复制
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中,我使用了这个,这是唯一的区别:

代码语言:javascript
复制
For Each iShp In wrdDoc.InlineShapes

正确声明和设置wrdDoc的位置。

Powerpoint在宏完成后也会崩溃。我试着将iShp更改为变体,但这并没有帮助。

编辑:所以我现在已经确定CentimetersToPoints(9.3)在powerpoint中返回0,在Word中返回263左右。现在开始调查。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-16 12:59:30

CentimetersToPoint中,没有什么比在您的情况下调用的PowerPoint更好了。您需要引用Word对象变量才能获得维度。也许是这样的:

代码语言:javascript
复制
Sub CentimetersTo_Word()

    Dim WRD As Object
    Set WRD = CreateObject("Word.Application")

    Debug.Print WRD.centimeterstopoints(10)

End Sub

因此,只需在CentimetersToPoint之前添加Word应用程序引用即可

票数 1
EN

Stack Overflow用户

发布于 2013-04-16 12:57:36

我自己做的method...and成功了。

代码语言:javascript
复制
Function CmToPt(pt As Single) As Single
CmToPt = pt * 28.35
End Function

不知道为什么普通的不起作用,但这起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16037101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档