- ベストアンサー
AppleScriptでExcelデータをCSV
AppleScriptで編集したExcelデータをCSV形式で保存して 閉じるにはどうすればいいのでしょう?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
追加です。 ファイル名が「ホニャララ.xls.csv」では少々カッコ悪いので、 「ホニャララ.csv」となるように改良しました。 処理の解説を加えましたので、適当にまさぐって下さい。 --Excelで開いているワークシートをCSV形式で保存し、ウィンドウを閉じるAppleScript tell application "Microsoft Excel" activate --最前面のワークブックからファイル名とパスを抽出 tell active workbook set aParentFolder to path as text set aName to name as text --新たに作成するCSVファイルに.xlsや.xlsxがついていると気持ちよくないので除去 if aName ends with ".xls" then set aName to characters 1 thru -5 of aName else if aName ends with ".xlsx" then set aName to characters 1 thru -6 of aName end if --以上の情報から、CSVファイルのファイル名と保存先を決定 set aCVSname to (aName & ".csv") as text set aCVSpath to (aParentFolder & ":" & aCVSname) as text --開いているワークシートをCSV形式で書き出し tell active sheet save in aCVSpath as CSV file format end tell --ウィンドウを閉じる(保存せずそのまま閉じる設定です) close without saving end tell end tell
その他の回答 (1)
Excelで現在開いているワークシート(ファイル名:ホニャララ.xls)を CSV形式で同じフォルダに保存(ファイル名:ホニャララ.xls.csv)し、 開いているウィンドウを閉じるスクリプトを作ってみました。 一応OSX10.6.8 + Excel2011で動作確認しました。 パパっと作ってみたのでどこか問題があるかも知れませんが、 たたき台にでもなれば幸いです。 tell application "Microsoft Excel" activate tell active workbook set aParentFolder to path as text set aCVSname to (name & ".csv") as text set aCVSpath to (aParentFolder & ":" & aCVSname) as text tell active sheet save in aCVSpath as CSV file format end tell close without saving end tell end tell
お礼
すごいっ、すごいっ、すごすぎます。 名前もExcelの拡張子がとれてすっきりです。 ほんとにありがとうございます。 助かりました。