2009年7月30日木曜日

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枚目のシートのヘッダーとフッターを設定
wb.sheets(1).PageSetup.LeftHeader = "左上"
wb.sheets(1).PageSetup.CenterHeader = "中央上"
wb.sheets(1).PageSetup.RightHeader = "右上"
wb.sheets(1).PageSetup.LeftFooter = "左下"
// 中央下にページ番号
wb.sheets(1).PageSetup.CenterFooter = "&P"
wb.sheets(1).PageSetup.RightFooter = "右下"

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


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


ヘッダとフッタを設定した結果(test6a.xls)


動作環境
JDK 1.6 Update14, groovy1.6.3, Microsoft Office 2007

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

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

xa.DisplayAlerts = false

Set wb = xa.workbooks.open(sh.CurrentDirectory + "\test1.xls")
With wb.sheets(1).PageSetup
.LeftHeader = "左上"
.CenterHeader = "中央上"
.RightHeader = "右上"
.LeftFooter = "左下"
' 中央下にページ番号
.CenterFooter = "&P"
.RightFooter = "右下"
End With
wb.saveAs(sh.CurrentDirectory + "\test6b.xls")
wb.close


関連情報

0 件のコメント:

コメントを投稿