我是VBA编程的新手,这是我第一次为PPT编写VBA代码。我对VBA Excel有一些经验。
所以我的问题是我有一个重复的任务,就是在工作中测量PPT演示文稿中的自动整形线。通过测量,我的意思是获取线条的高度和宽度(以英寸为单位),然后乘以我将提供的某个转换系数。
以下是我希望VBA要做的事情的概述: 1.在整个PPT演示文稿中找到所有“深蓝色”行。我可能需要指定颜色的RGB值。 2.找到每行的宽度和高度,乘以我要输入的数字,然后输出最终的宽度和高度。 3.在“深蓝色”线附近,绘制一个文本框并编码最终的宽度和高度。宽度的字体颜色为洋红色,高度的字体颜色为海军蓝色。
所以从本质上讲,我想用转换后的宽度和高度注释我绘制的深蓝色线条。我将通过用户输入对话框提供转换因子。
任何建议的功能或代码开头吗?我会尽力用谷歌搜索其余的内容。
非常感谢! :)
答案 0 :(得分:0)
此代码需要进行一些调试,但是可以使您了解可能需要的内容。您可能需要检查p的数据类型,并记录添加文本框的宏以使该线性正确。对于较旧版本的Powerpoint,变量c的定义不同。然后将“ c”分为红色绿色和蓝色,深蓝色对应于较低的红色和绿色值,而较高的蓝色对应于红色和绿色。我没有为文本框中的文本涂色。
Dim h as shape
p=inputbox("Enter number",50,50)
for each h as activewindow.selection.sliderange.shapes
c = h.Line.ForeColor.RGB
redco = c Mod 256
greenco = c \ 256 Mod 256
blueco = c \ 65536 Mod 256
if redco<255/3 and greenco<255/3 and blueco>255/2 then
activewindow.selection.sliderange.shapes.Addtextbox("Arial",12,"Line Width=" & h.line.weight & " Shape/line height=" & p * h.height & " Shape/line width=" & p * h.width, h.left-50, h.top-50,80,80).select
End if
Next