2014-03-08

Excel の worksheet を逆順に並び換える AppleScript

毎月一枚ずつワークシートが増えていく Excel のブックを使っている。毎月毎月シートを最後尾に追加していったのだけど、実際に作業するのはほぼ最新のシートだけなのにそれが最後にあると使いにくい。けれども、何十枚もシートがたまってしまっていると、手で移動するのも億劫なので AppleScript で移動してみた。

tell application "Microsoft Excel"
 
 activate
 set display alerts to false
 set num_sheets to count worksheet
 repeat with i from 1 to num_sheets
  set orig to sheet i
  set n to the name of sheet i
  copy worksheet orig before the first worksheet
  delete sheet (i + 1)
  set the name of the first worksheet to n
 end repeat
 set display alerts to true
 
end tell

Excel の AppleScript 対応ではワークシートの移動ができないので、コピーと削除を組み合わせて使っている。

ワークシート間で参照があると当然おかしくなってしまうので、そのあたりは要注意。

No comments: