NumbersからCSVを書き出すドロップレット
ちょっと前からNumbersの新バージョンでAppleScriptを使ってCSVをエクスポートしようとするとエクスポートに失敗する上にNumbersの元ファイルが壊れて開けなくなるという不具合が出てまして、旧バージョンのNumbersを使うことでごまかしていたのですが、マシン更新でさすがにごまかしきれなくなってきたので適当に英語のフォーラムを漁ってどうにかしました。まあサンプルコードがフォルダ選択なのをドロップレットにした以外何にもしてませんが、また数年後に同じネタでハマってググるの嫌なので備忘録として置いておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
on open theDocs repeat with aDoc in theDocs tell application "Finder" set docName to aDoc's name as text if docName ends with ".numbers" then set exportName to (folder of aDoc as text) & docName set exportName to exportName's text 1 thru -9 & ".csv" tell application "Numbers" open aDoc delay 0.6 -- ちょっと待つ tell front document export to file exportName as CSV close end tell end tell end if end tell end repeat end open |
以上。ドロップレットとして使うにはスクリプトエディタにペーストしてアプリとして保存してね。しかしファイル壊れるってよっぽどだよな。あと未だにAppleScriptの型変換苦手です。ワケがわからん。
(2018.3.13)
タグ: Applescript, csv, Numbers