多年来,我一直在使用Excel图表来创建用于物理教学的计算机动画电影。但是,在从VBA转换为AppleScript时,我无法将图表另存为.jpeg文件。我试过下面的剧本:
tell application "Microsoft Excel"
set filebasename to get value of cell "MovieName"
activate object chart object filebasename of sheet 1
set testfile to "test.jpg"
save as picture active chart picture type save as JPG file file name testfile
end tell
但AppleScript编辑器告诉我活动图表不理解另存为图片指令。我的解决方法是使用脚本:
tell application "Microsoft Excel"
set filebasename to get value of cell "MovieName"
activate object chart object filebasename of sheet 1
copy picture active chart appearance screen format picture
end tell
然后通过剪贴板进入GraphicConverter以获取.jpeg文件。
我在做什么是愚蠢的?
答案 0 :(得分:0)
tell application "Microsoft Excel"
set theValue to get value of cell "A1"
set myNewChartObject to make new chart object at sheet 1 with data theValue with properties {width:100.0, height:100.0}
save as picture myNewChartObject picture type save as JPG file file name (((path to desktop folder) as text) & "myChart.jpg") as text
end tell
加入盐调味。对这里的内容进行小规模剖析......
make
命令用于创建几乎所有类型的对象,并为您返回创建的对象。 activate
没有,这可能是save as picture
失败的原因,因为你没有实际保存的对象。我会冒险猜测active chart
对于命令来说是不够的,因为当前活动的对象可能会在您没有意识到的情况下发生变化。抓取对象,将其应用于变量,然后传递它通常是一个好主意,因为那时你知道你必须使用它。