PowerPoint VBA - 屏幕上的SlideRange位置

时间:2012-05-12 15:26:21

标签: vba ms-office powerpoint

我正在创建一个PPT加载项,我很难找到答案是否可以确定屏幕上的SlideRange位置。

我希望在特定位置打开一个用户窗体(例如,从SlideRange的左上角开始,左= 10,顶部= 10)。不幸的是,它的位置基于屏幕分辨率。由于可以更改分辨率并且可以修改PPT视图类型,因此我无法确定SlideRange的准确位置。

是否可以使用VBA?

提前致谢! MJ

2 个答案:

答案 0 :(得分:1)

SlideRange没有特定的位置......它是幻灯片的集合,当你想要将表格定位在10,10时,你不清楚你正在使用哪些单位。但在正常的全屏视图中,您可以获得幻灯片放映窗口坐标,如下所示:

使用SlideShowWindows(1)     Debug.Print .Left     Debug.Print .Top     Debug.Print .Height     Debug.Print .Width

结束

要以屏幕像素获取结果,您必须使用Win API调用来获取屏幕DPI(每英寸点数)。

英寸=积分/ 72 像素=英寸* DPI

答案 1 :(得分:1)

<<你知道是否有可能在PPT中捕捉鼠标事件?

只有当鼠标点击更改选择时,并且如您所知,这不是所有时间。

可能有一些方法可以通过Win API来实现,但PPT本身并没有这样的内容。