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枚目のシートのセル範囲A3に折り返して全体を表示するように設定
wb.sheets(1).Range("A3").WrapText = true
// 1枚目のシートのセル範囲3行目の高さを自動調整
wb.sheets(1).Rows("3").AutoFit()
wb.saveAs(new File("test18a.xls").canonicalPath)
wb.close
}
サンプルExcelブック(test1.xls)
実行結果
動作環境
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).Range("A3").WrapText = true
wb.sheets(1).Rows("3").AutoFit
wb.saveAs(sh.CurrentDirectory + "\test18b.xls")
wb.close
関連情報
- ScriptomとExcelのまとめ
- Range.WrapText Property
http://msdn.microsoft.com/en-us/library/bb238616.aspx