1

私は数年間、物理学を教えるためにコンピュータ アニメーション ムービーを作成するために 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 ファイルを取得します。

私は何をしているのですか?

4

1 に答える 1

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通常、オブジェクトを取得して変数に適用し、代わりにそれを渡すことをお勧めします。そうすれば、何を処理する必要があるかがわかります。

于 2010-11-11T14:06:16.030 に答える