Numbersのセルに画像を貼り付ける作業を自動化するAppleScript

macのiWorksに含まれる表計算ソフトNumbersでは、セルを画像で塗りつぶすことができる。オフィススイートの雄であるMicrosoft Excelでもできるが、両者は相互互換ではない。すなわちNumbersで画像を貼り付けたスプレッドシートをExcelに書き出しても、画像は残らない。だから、これから紹介するTipsは、Numbers内で話が完結する場合に限ることを前提としておく。

ここに、Numbersのスプレッドシートと、大量の画像データがあり、スプレッドシートへの画像データの貼り付け作業を自動化したいものとする。
Excelの場合、VBAスクリプトになるが、NumbersではAppleScriptを用いることになる。元ネタになるAppleScriptは、こちらを参考にした。

--カレントユーザーの取得
set userName to do shell script "id -un"

--画像がある親フォルダのパス設定
set folder_path to "Macintosh HD:Users:" & userName &":Desktop:Images:"

--実際の画像があるフォルダ(子フォルダ)のパス設定
set supplyer to "supplyer_A"
set supplyer_path to POSIX path of (folder_path & supplyer & ":")

--Numbersの操作
tell application "Numbers"

activate --Numbers書類を一番手前に

	tell document 1

		tell sheet 1

			tell table 1
                
                --一行目は見出しなので除く
				repeat with rowCount from 2 to row count

                    --E列の各行の値(セル)が一致するかチェック
					if value of cell 1 of range ("E" & rowCount) is supplyer then

                        --F列の各行の値(セル)が画像のファイル名なので取得
						set image_name to value of cell 1 of range ("F" & rowCount)

                        --画像のフルパスの生成
						set image_path to supplyer_path & image_name & ".jpg"

                        --ログ(デバッグ用)
						log image_path
                        
                        
                        --G列(7番目の列)の幅を350ptにする
						set the width of column 7 to 350
						--各行の高さを250ptにする
						set the height of row rowCount to 250
                        

                        --画像をクリップボードに読み込む
						set the clipboard to (read (image_path) as TIFF picture)

                        --画像を貼り付けるNumbersのセル(G列)を選択
						set selection range to range ("G" & rowCount)
                        
                        --画像のペースト
						tell application "System Events"

							keystroke "v" using {command down}
							keystroke return

						end tell

					end if

				end repeat

			end tell

		end tell

	end tell

end tell

上記スクリプトを
ScriptEditorで開く(注)

(注)リンクを開くと、2段階の確認ダイアログが表示される。(下図)

ScriptEditorを開く確認ダイアログ


Script作成確認ダイアログ

最初に開くのは、ScriptEditorを開くかどうかを確認するダイアログ。次に開くのはスクリプトの開発元が不明であることを警告するダイアログである。後者のダイアログについて、筆者を信頼するかしないかはお任せするが、このAppleScriptが危険なものか判断できない人は使わないで戴きたい。

本AppleScriptにより、Numbers書類の特定のセルを選択し、画像をペーストする作業が自動化される。

以上。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL