質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Illustrator

Illustratorは、アドビシステムズ(株)が開発した描画ツールソフトです。 イラスト製作やロゴタイプ、広告作成時などのデザインツールとして、さまざまな分野のクリエーターに愛用されています。 プラグインの中にCADや3DCG機能の拡張ができるものがあります。 特に広告作成などの印刷業界では、トップクラスのシェアを誇っているソフトです。

Q&A

1回答

1098閲覧

イラストレーターのスクリプト

takahashi-one

総合スコア120

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Illustrator

Illustratorは、アドビシステムズ(株)が開発した描画ツールソフトです。 イラスト製作やロゴタイプ、広告作成時などのデザインツールとして、さまざまな分野のクリエーターに愛用されています。 プラグインの中にCADや3DCG機能の拡張ができるものがあります。 特に広告作成などの印刷業界では、トップクラスのシェアを誇っているソフトです。

0グッド

0クリップ

投稿2021/04/08 06:33

編集2021/04/09 04:50

illustrator cs6 のpngファイルの書き出しの作業がめんどくさいので下記のようなスクリプトでボタン1クリックで保存できるようにしようと思いました。
一番下にあるコメントにしてあるexportFileToPNG24のコメントをはずすとpngがちゃんと保存されます。
しかし、ボタンイベントにexportFileToPNG24を設定すると保存されません。なぜでしょうか?

javascript

1#target 'illustrator' 2#targetengine 'test' 3 4var palette = new Window("palette", "Export"); 5var btnExport = palette.add("button", undefined, "Export"); 6 7function exportFileToPNG24(dest) { 8try { 9 if (app.documents.length > 0) { 10 var exportOptions = new ExportOptionsPNG24(); 11 exportOptions.antiAliasing = false; 12 exportOptions.transparency = false; 13 exportOptions.saveAsHTML = true; 14 15 var type = ExportType.PNG24; 16 var fileSpec = new File(dest); 17 18 app.activeDocument.exportFile(fileSpec, type, exportOptions);←ここでエラーとなってる模様。 19 } 20}catch(e) { 21 alert( e.message, "スクリプト警告", true); 22} 23} 24 25palette.show(); 26 27btnExport.onClick = function() { 28 exportFileToPNG24('C:/test/test.png'); ←ボタンイベントにするとpngが保存されない。 29} 30 31/*exportFileToPNG24('C:/test/test.png');*/ ←この位置だとちゃんとpngが保存される。

if文をtry-catchで囲ったところ、there is no documentというエラーメッセージがでました。
ボタンクリックでコールするexportFileToPNG24の場合activeDocumentがない状態になってしまう。

対象Documentをアクティブにする方法はどのようにすればいいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

今更ですが、回答します。

JavaScript

1#target 'illustrator' 2#targetengine 'main' 3 4var palette = new Window("palette", "Export"); 5var btnExport = palette.add("button", undefined, "Export"); 6 7function exportFileToPNG24(dest) { 8try { 9 if (app.documents.length > 0) { 10 var exportOptions = new ExportOptionsPNG24(); 11 exportOptions.antiAliasing = false; 12 exportOptions.transparency = false; 13 exportOptions.saveAsHTML = true; 14 15 var type = ExportType.PNG24; 16 var fileSpec = new File(dest); 17 18 app.activeDocument.exportFile(fileSpec, type, exportOptions); 19 } 20}catch(e) { 21 alert( e.message, "スクリプト警告", true); 22} 23} 24 25palette.show(); 26 27btnExport.onClick = function() { 28 var bt = new BridgeTalk(); 29 bt.target="illustrator"; 30 bt.body = "exportFileToPNG24('C:/test/test.png');" 31 bt.send(); 32}

画面のイベントでapp.activeDocumentを扱うにはBridgeTalkを使う必要があるらしいです。
そして、定義した関数をBridgeTalkで使うためには「#targetengine 'main'」が必要らしいです。

投稿2022/11/07 13:24

kts2634

総合スコア49

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問