Word addin有Application.PointsToPixels(),Powerpoint没有,有什么理由吗?

时间:2013-09-02 04:00:48

标签: powerpoint office-interop

这是一个小麻烦,因为我需要实现我自己的接口,该接口具有WordApp和PowerpointApp类,它实现了一个具有PointsToPixels()方法的接口。

WordApp类已经存在,因为我可以使用_Application上的方法来获取它: http://msdn.microsoft.com/en-us/library/office/microsoft.office.interop.word._application.pointstopixels(v=office.11).aspx

我想保持代码干净并实现PowerpointApp.PointsToPixels()......但令我意外的是,Powerpoint的“_Application”类没有它。

我能看到的另一种方法是使用WinForm上的CreateGraphics()方法 - 此时我还没有。

从长远来看,我或许可以解决这个问题,但是知道Powerpoint不打球的原因是多么好。似乎很难没有充分的理由。

1 个答案:

答案 0 :(得分:1)

在PPT中,它被称为PointsToScreenPixels。 PPT VBA帮助中的示例:

With ActiveWindow
    myXparm = .PointsToScreenPixelsX _
        (.Selection.TextRange.BoundWidth)
    myYparm = .PointsToScreenPixelsY _
        (.Selection.TextRange.BoundHeight)
End With

假设选定的形状包含文本。结果有点难以理解。

仅假设选定形状的更简单示例:

Debug.Print ActiveWindow.PointsToScreenPixelsY(ActiveWindow.Selection.ShapeRange(1).Top)