2009年9月11日金曜日

ScriptomとExcelで列の幅を自動調整する

ScriptomとExcelで列の幅を自動調整するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.excel.*;

Scriptom.inApartment
{
ea = new ActiveXObject("Excel.Application")

wb = ea.workbooks.open(new File("test1.xls").canonicalPath)

ea.DisplayAlerts = false

// 1枚目のシートのセル範囲A3の文字列を設定
wb.sheets(1).Range("A3").value = "groovyあれこれ"
// 1枚目のシートのセル範囲A列の幅を自動調整
wb.sheets(1).Columns("A").AutoFit()

wb.saveAs(new File("test17a.xls").canonicalPath)
wb.close
}


サンプルExcelブック(test1.xls)


実行結果
ScriptomとExcelで列の幅を自動調整した結果

動作環境
groovy 1.6.3/JDK6 Update14/Excel 2007

WSHで同様の処理を行うには、以下のスクリプトを実行します。

Set sh = CreateObject("WScript.Shell")
Set xa = CreateObject("Excel.Application")

xa.DisplayAlerts = false

Set wb = xa.workbooks.open(sh.CurrentDirectory + "\test1.xls")
wb.sheets(1).Range("A3").value = "groovyあれこれ"
wb.sheets(1).Columns("A").AutoFit
wb.saveAs(sh.CurrentDirectory + "\test17b.xls")
wb.close


関連情報

0 件のコメント:

コメントを投稿