Mac OSの使い方/Mac OS 関連情報

Excel + AppleScript(2ページ目)

ここでは、Microsoft Excel を使ったAppleScriptの使い方を紹介します。

木下 幹司

執筆者:木下 幹司

Macガイド


Excelの選択中のセルのデータの後ろに(データ)という文字を代入


項目表などを作成していると、場合によって項目名が重複することがあるので、それぞれを区別するために、文字列を追加することがありますが、たくさんあるセルそれぞれに文字列を手作業で追加するのは面倒です。

選択中のセルのそれぞれの後ろに(データ)という文字列を追加するスクリプトを考えてみましょう。

●選択エリアのすべての値をリスト形式で取得
値を変更するには、まず値を取得しなければなりません。
・Excel の状態
画像
ExcelでセルA4からB6まで選択した状態


・スクリプト

・結果


スクリプトを実行すると、選択領域の値がリストという形式で取得できます。このリストでは、横方向のリストが縦方向のリストとして格納されています。

●それぞれの値の末尾に(データ)という文字列を追加
取得できるデータを「aList」という変数に格納し、文字列を追加する作業をします。変数名は自由です。
・スクリプト

まっさらのリストnewListにaListを改造した値を正しく格納するようにしたスクリプトです。AppleScriptでは repeat ~ end repeat で繰り返しの処理を行います。repeat with x in aList でaListの内容を 一つずつx に格納して処理します。今回はリストのリストになっていますので、repeat ~ end repeat が2重になっています。
※変数や代入値を{ }で囲んでいるのは、確実にリスト形式のまま変数を追加するためのコツになります。

●変更結果を選択範囲に反映
aListに(データ)という文字列を追加したものはnewListになっていますので、selectionに上書きします。やりかたは「set value of areas of selection to newList」とするだけです。
・スクリプト



tell application "Microsoft Excel"
   value of areas of selection
end tell
{{"a1", "b1"}, {"a2", "b2"}, {"a3", "b3"}} tell application "Microsoft Excel"
   set aList to value of areas of selection
   set newList to {}
   repeat with x in aList
      set xList to {}
      repeat with y in x
         set xList to xList & {y & "(データ)"}
      end repeat
      set newList to newList & {xList}
   end repeat
end tell
tell application "Microsoft Excel"
   set aList to value of areas of selection
   set newList to {}
   repeat with x in aList
      set xList to {}
      repeat with y in x
         set xList to xList & {y & "(データ)"}
      end repeat
      set newList to newList & {xList}
   end repeat

   set value of areas of selection to newList

end tell
画像
選択領域のデータが見事書き換えられました

→その他のExcleスクリプトの記述ポイント
  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について