2009年9月7日月曜日

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枚目のシートのセル範囲3行目の背景色を設定(BGR)
wb.sheets(1).Rows("3").interior.color = 0xc0c0c0

wb.saveAs(new File("test13a.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).Rows("3").interior.color = RGB(192,192,192)
wb.saveAs(sh.CurrentDirectory + "\test13b.xls")
wb.close


関連情報

2009年9月6日日曜日

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枚目のシートのセル範囲A1の値を設定
wb.sheets(1).Range("A3").Value = 321
// 1枚目のシートのセル範囲A1の表示形式のユーザ定義を設定
wb.sheets(1).Range("A3").NumberFormatLocal = "0000"

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


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


実行結果
ScriptomとExcelでユーザ定義書式を設定したセル

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

関連情報
Range.NumberFormatLocal Property
http://msdn.microsoft.com/en-us/library/bb213679.aspx

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 = 321
wb.sheets(1).Range("A3").NumberFormatLocal = "0000"
wb.saveAs(sh.CurrentDirectory + "\test12b.xls")
wb.close


関連情報

2009年9月5日土曜日

ScriptomとWMIで現在のプロセス数を調べる

ScriptomとWMIで現在のプロセス数を調べるには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
oss = service.ExecQuery(
"select * from Win32_OperatingSystem")

for(os in oss){
// 現在のプロセス数を取得
println(os.NumberOfProcesses)
}
}


動作環境
JDK6 Update14, groovy1.6.3

関連項目
Win32_OperatingSystem Class
http://msdn.microsoft.com/en-us/library/aa394239%28VS.85%29.aspx

2009年9月4日金曜日

ScriptomとWMIで空き物理メモリと空き仮想メモリを調べる

ScriptomとWMIで空き物理メモリと空き仮想メモリを調べるには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
oss = service.ExecQuery(
"select * from Win32_OperatingSystem")

for(os in oss){
// 空き物理メモリと空き仮想メモリをKByteで表示
println(os.freePhysicalMemory + ":" + os.freeVirtualMemory )
}
}


動作環境
JDK6 Update14, groovy1.6.3

関連情報
http://msdn.microsoft.com/en-us/library/aa394239%28VS.85%29.aspx

2009年9月3日木曜日

ScriptomとWMIでOSのキャプションとコンピュータの説明を取得する

ScriptomとWMIでOSのキャプションとコンピュータの説明を取得するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
oss = service.ExecQuery(
"select * from Win32_OperatingSystem")

for(os in oss){
// OSのキャプションとコンピュータの説明を取得
println(os.caption + ":" + os.description )
}
}


動作環境
JDK6 Update14, groovy1.6.3

関連情報
http://msdn.microsoft.com/en-us/library/aa394239%28VS.85%29.aspx

2009年9月2日水曜日

ScriptomとWMIでネットワークアダプタ構成名とホスト名を取得する

ScriptomとWMIでネットワークアダプタ構成名とホスト名を取得するには、以下のコードを実行します。

import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
nas = service.ExecQuery(
"select * from Win32_NetworkAdapterConfiguration")

for(na in nas){
// ネットワークアダプタ構成名とホスト名を取得
println(na.caption + ":" + na.DNSHostName)
}
}


動作環境
JDK6 Update14, groovy1.6.3

関連情報
http://msdn.microsoft.com/en-us/library/aa394217%28VS.85%29.aspx

2009年9月1日火曜日

ScriptomとWMIでネットワークアダプタ構成名とDHCPサーバのIPアドレスを調べる

ScriptomとWMIでネットワークアダプタ構成名とDHCPサーバのIPアドレスを調べるには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
nas = service.ExecQuery(
"select * from Win32_NetworkAdapterConfiguration")

for(na in nas){
// ネットワークアダプタ構成名とDHCPサーバのIPアドレスを取得
println(na.caption + ":" + na.DHCPServer)
}
}


動作環境
JDK6 Update14, groovy1.6.3

関連情報
http://msdn.microsoft.com/en-us/library/aa394217%28VS.85%29.aspx