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

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

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

AppleScriptは、アップル社が開発しているMac OS用のスクリプト言語。AppleScript本体に限らず、同じ言語で多くのAppleScript対応アプリケーションを操縦することが可能です。 自然言語(英語)に近い構文を持ちます。

Q&A

解決済

3回答

1016閲覧

Illustratorの埋め込み解除ダイアログが開いたらドキュメント名のテキストボックスにaiファイルと同じ名前をいれる

nekko_neko

総合スコア21

AppleScript

AppleScriptは、アップル社が開発しているMac OS用のスクリプト言語。AppleScript本体に限らず、同じ言語で多くのAppleScript対応アプリケーションを操縦することが可能です。 自然言語(英語)に近い構文を持ちます。

0グッド

0クリップ

投稿2022/05/09 07:56

イラレにて埋め込みの解除をして
埋め込んである画像を、そのaiファイルと同じ名前(拡張子は違う)で保存したいと思っています。

他サイトにてillustratorのスクリプトだけでは不可能だとお聞きし、
Keyboard Maestroでマクロを組めないか試行錯誤していました。

グループの設定に関しては、
Available when a focused window title contains :を「埋め込みを解除」として、
埋め込みを解除という言葉のついたタイトルのウィンドウが出た時だけ作動するようにしています。

イメージ説明

Insert TokenのWindowNameというものが、ウィンドウの名前を取得してくれるものだったのでそれを利用しました。
埋め込みを解除を押した時点で最前面のウィンドウはそのダイアログなので、
-1にすることで一つ後ろの開いているドキュメントの名前を取得してくれるという感じです。

ただ、これだとドキュメント名ではなくウィンドウの名前なので、拡張子とか@とか(プレビュー)とかの文字列もペーストされてしまいます。

AppleScriptで 「.ai」の前まで文字列を削除したらいいだろうと思って調べていましたが、そもそもAppleScriptの勉強不足でよく分からず答えが出ていません。

何かいい方法がありましたら教えていただけると嬉しいです。
よろしくお願いします。

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

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

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

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

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

guest

回答3

0

ベストアンサー

もう必要ないと思いますが作ってみたのでとりあえず投稿を……

私なら画像認識でメニュー呼び出しから作りますかね。
ホットキーを設定すればショートカット一発で保存まで。(同名ファイルがある場合は考慮していません)

公開したマクロを読み込んで使っても解像度やUIの明るさの設定の差異で画像認識がうまくできないかもしれませんのでご自身でキャプチャ画像を再設定してください。
2箇所あります。

KM

キャプチャ1

メニュー呼び出し
リンクパネルのバーガーメニューを押下するための画像です。
右上を始点に(-10,10)の位置をクリックするようにしているので調整が必要になるかも……

キャプチャ2

埋め込みを解除
センターをクリックするのでこちらはキャプチャし直せばクリック位置は気にしなくてもよいでしょう。

https://www.dropbox.com/s/flsv9wk07lrs4px/Unembed.kmmacros.zip?dl=1


私自身KMを使い始めて日が浅いの不慣れなのですが、KMの変数はグローバルになってしまいますので、接頭語にLocalと付与してローカル変数にしたほうがいいかもしれません。

投稿2022/05/10 10:37

MD5500

総合スコア35

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

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

nekko_neko

2022/05/10 23:56

ありがとうございます! 私もKeyboard Maestroは最近使い始めたのですが、MD5500さんのようには作れませんでした。すごいです! 画像認識があるということも初めて知りました。 本当になんでも出来るんですね・・ 公開していただいたマクロを全て理解しきれていないし、AppleScriptも無料で配布されていたものの一部を変えるだけで精一杯だったので、自分で一つ一つ理解しながら勉強していきます。 今回本当にありがとうございました!
guest

0

もう少し簡単に出来ました。。

イメージ説明

投稿2022/05/10 08:26

nekko_neko

総合スコア21

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

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

0

一応自己解決しました。
とても気持ち悪いAppleScriptで不必要な部分を選択して、その後Deleteキー→Enterキーを押すマクロにして保存出来るようにしました。

tell application "System Events" set activeApp to name of first application process whose frontmost is true tell window 1 of process activeApp try set txFie to text field 1 on error try set txFie to text field 1 of sheet 1 on error return false end try end try set focused of txFie to true set befName to value of txFie set allNum to the length of befName set aNum to the offset of ".ai" in befName set pNum to the offset of ".psd" in befName set aNum to aNum - 1 set pNum to pNum - 1 set pNum to allNum - pNum set bNum to allNum - aNum set bNum to bNum - pNum repeat bNum times keystroke (ASCII character 28) using {shift down} end repeat end tell end tell

埋め込まれているのがpsdデータの場合のみ使用するのでこれでいいかと思ってます。
もっと簡単に出来るものがあったら引き続き教えていただきたいです。

投稿2022/05/10 05:00

nekko_neko

総合スコア21

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問