AppleScriptとサービスを使って、NumbersからXls書き出しを自動化しようとしています。
【AppleScript】開いているNumbersをExcelにエクスポートする - Qiita
このサイトを参考にやっていますが、エラーが出て正常に動作出来ません。
【追記】すみません、どういう訳かエラーは発生しなくなりました。(Numbersを再起動した為?)
ただ、思ったような処理が出来ていない為、前提条件から記載します。
Numbersファイル(拡張子が.numbers)を開き、下記スクリプトを実行した場合は正常に動作します。
Finderから該当のExcelファイル(拡張子が.xlsまたは.xlsx)をダブルクリックで開いた時、下記スクリプトを実行するとエラーは発生ませんが、ファイル内容の変更が行われません。
◆希望する挙動
0. example.xlsx をダブルクリックで開く
0. example.numbers として開かれる
0. データを修正する
0. サービス呼び出し(ファイルの保存はしない)
0. exmaple.xlsx に修正したデータが反映される
最初からNumbersのファイルを開いた場合は、ファイルの保存無しでも修正データが反映されました。
なので上記のように動作するかと思ったのですが、該当ファイルが開きっぱなしで上書き出来ない状態なのでしょうか。それにしてはエラーも出ないので困っています。
一旦Numbersファイルとして保存すればいい話ですが、出来れば上記のワークフローでやりたいと思っています。
引き続き情報を頂けると幸いです。
(以下、以前まで発生していたエラー)
◆そのままコピペした場合
構文エラーが発生します。
Numbersでエラーが起きました: documentは“count”メッセージを認識できません。
◆cntを変更してみた場合
tell application "Numbers" to set cnt to count document
の行を削除
repeat with i from 1 to cnt
→repeat with i from 1 to 1
に変更
↓
構文エラー
file of document 1 of application "Numbers"のタイプをstringに変換できません。
◆型変換を取っ払う
tell application "Numbers" to set theFile to file of document i as string
のas string
を削除
↓
構文エラー
Numbersでエラーが起きました: document 1を取り出すことはできません。
ちなみに他のサイトを見て作った以下のコードを動かしてみるとダイアログに「docu」とだけ表示されます。
AppleScript
1on run 2 tell application "Numbers" 3 activate 4 tell the front document 5 display dialog document 6 end tell 7 end tell 8end run
というわけでdocument
が正常に取得出来ていない感じがしていますが、どうしたらいいか分かりません。
なお、上記の構文エラーはNumbersを開いた状態にしておきAutomatorでRunさせてみた結果で、Numbersからこのサービスを呼び出すと「アクション“AppleScriptを実行”でエラーが起きました。」と表示されます。
(ダイアログを表示しているので該当のワークフローの呼び出し自体は正常に行えているのは確認出来ています)
何かコード不備、設定や確認すべき点、思い当たる点などがありましたら教えて頂けると幸いです。
動作環境
Mac Sierra 10.12.6
Numbers 4.3 / Automator 2.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/08 08:59
2018/03/08 09:03
2018/03/09 06:52
2018/11/23 09:07