« 古いフィルムをデジタルに (2) | トップページ | Excel用Automatorアクションを作る(2) »

2008年2月20日 (水)

Excel用Automatorアクションを作る(1)

1月にMicrosoft Office2008 for Macのファミリー&アカデミック版を購入しましたが(Office2008 for Mac購入)、このパッケージにはAutomatorのアクションが付属していません。そこで、Excelのセルを読み書きするAutomatorアクションを作ってみることにしました。

Excelのセルを外部から読み書きするためには、AppleScriptを使用することになります。実はAppleScriptを使うのは今回が初めて。そこで、まずは情報集めです。

Excelで使えるAppleScriptのコマンド等の情報は、MicrosoftのMactopiaライブラリ からExcel2004のものがダウンロードできます。恐らくExcel2008のAppleScriptもExcel2004と互換性があると思いますので、まずはこれから情報を得て、実際にスクリプトエディタを使って実験です。

Excelからセルの内容を文字列リストの形で取得するには、下記のようなスクリプトで取得できるようです。この例では、A1〜B2の4つのセルの内容を取り出しています。

tell application "Microsoft Excel"
     set theList to get string value of range "A1:B2"
end tell

また、Excelのセル(A1〜B2)にデータを書き込むスクリプトは下記のようになります。

tell application "Microsoft Excel"
     set theList to {{10, 20}, {30, 40}}
     set value of range "A1:B2" to theList
end tell

これらのスクリプトでは、入出力するデータはリスト形式となっています。入出力はTSV(タブ区切り)形式にしたいので、リスト形式とTSV形式を変換するためのスクリプトを追加してやる必要がありますが、これは次回に...。

なお、クリップボードを経由して良いのであれば、下記のスクリプトでセルの内容をTSV形式で取得できるようです。ただし、最終行に改行が入らないようです。

tell application "Microsoft Excel"
     copy range range "A1:B2"
     set theString to the clipboard
end tell

« 古いフィルムをデジタルに (2) | トップページ | Excel用Automatorアクションを作る(2) »

Mac」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/212936/40199777

この記事へのトラックバック一覧です: Excel用Automatorアクションを作る(1):

« 古いフィルムをデジタルに (2) | トップページ | Excel用Automatorアクションを作る(2) »

フォト

最近のトラックバック

無料ブログはココログ