2009年8月31日月曜日

ScriptomとWMIでネットワークアダプタのDHCPが有効かどうか調べる

ScriptomとWMIでネットワークアダプタのDHCPが有効かどうか調べるには、以下のコードを実行します。


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が有効かを取得
println(na.caption + ":" + na.DHCPEnabled)
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月30日日曜日

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_NetworkAdapter")

for(na in nas){
// ネットワークアダプタ名とネット接続ステータスを取得
println(na.name + ":" + na.NetConnectionStatus)
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月29日土曜日

ScriptomとWMIでネットワークアダプタのMACアドレスを取得する

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


import org.codehaus.groovy.scriptom.*;

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

for(na in nas){
// ネットワークアダプタ名とMACアドレスを取得
println(na.name + ":" + na.MACAddress)
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月28日金曜日

ScriptomとWMIでグループ名と説明を取得する

ScriptomとWMIでグループ名と説明を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(group in groups){
// グループ名と説明を取得
println(group.name + ":" + group.description)
}
}


実行結果例

Administrators:コンピュータ/ドメインに完全なアクセス権があります。
Backup Operators:バックアップの作成またはファイルを復元するときには、セキュリテ
ィの制限を無視することができます。
Guests:アカウントが更に制限されていないかぎり、既定では Users のメンバと同じ権限
があります。
Network Configuration Operators:このグループのメンバはネットワーク機能の構成を管
理するための管理者特権を持つことができます。
Power Users:いくつかの制限はありますが、ほとんどの管理用の権限があります。証明さ
れたアプリケーションだけでなく、レガシ アプリケーションも実行できます。
Remote Desktop Users:このグループのメンバにはリモートからログオンする権利が与え
られています。
Replicator:ドメイン内のファイル複製をサポートします。
Users:故意にまたは誤ってシステムに変更を加えさせないため、証明されているアプリケ
ーションは実行できますが、多くのレガシ アプリケーションを実行することはできませ
ん。
HelpServicesGroup:ヘルプとサポート センターのグループです。
__vmware__:VMware User Group


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月27日木曜日

ScriptomとWMIでコンピュータがドメインに参加しているかを調べる

ScriptomとWMIでコンピュータがドメインに参加しているかを調べるには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(cs in css){
// コンピュータがドメインに参加しているかどうかを取得
println(cs.partOfDomain)
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月26日水曜日

groovyとSQL Serverでインデックス一覧を表示する

groovyとSQL Serverでインデックス一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test1",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

sql.eachRow("select * from sys.indexes"){
// インデックスが属するオブジェクトのID
println "object_id:${it.object_id}"
// インデックス名
println "name:${it.name}"
// オブジェクト内で一意なインデックスのID
println "index_id:${it.index_id}"
// インデックスの種類の説明
println "type_desc:${it.type_desc}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sys.indexes
http://msdn.microsoft.com/ja-jp/library/ms173760.aspx

ScriptomとWMIでコンピュータのモデル名を取得する

ScriptomとWMIでコンピュータのモデル名を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(cs in css){
// コンピュータのモデル名を取得
println(cs.model)
}
}


実行結果例

HP Compaq dc5100 SFF(PM215AV)


実行結果
JDK6 Update14, groovy1.6.3

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

2009年8月25日火曜日

ScriptomとWMIでブート構成情報を取得する

ScriptomとWMIでブート構成情報を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(bc in bcs){
// ブート構成の情報を取得
println("BootDirectory:" + bc.bootDirectory)
println("Caption:" + bc.caption)
println("ConfigurationPath:" + bc.configurationPath)
println("Description:" + bc.description)
println("LastDrive:" + bc.lastDrive)
println("ScratchDirectory:" + bc.scratchDirectory)
println("SettingID:" + bc.settingID)
println("TempDirectory:" + bc.tempDirectory)
}
}


実行結果例

BootDirectory:\WINDOWS
Caption:\Device\Harddisk0\Partition1
ConfigurationPath:\WINDOWS
Description:\Device\Harddisk0\Partition1
LastDrive:G:
ScratchDirectory:C:\WINDOWS\system32\config\systemprofile\Local Settings\Temp
SettingID:VariantNull
TempDirectory:C:\WINDOWS\system32\config\systemprofile\Local Settings\Temp


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月24日月曜日

ScriptomとWMIでBIOSのメーカ、説明、バージョンを取得する

ScriptomとWMIでBIOSのメーカ、説明、バージョンを取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(bios in bis){
// BIOSのメーカ、説明、バージョンを取得
println(bios.Manufacturer)
println(bios.description)
println(bios.version)
}
}


実行結果例

Hewlett-Packard
Default System BIOS
COMPAQ - 20050825


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月23日日曜日

groovyとMyID3でMP3ファイルのアーティスト名、アルバム名、曲名を表示する

groovyとMyID3でMP3ファイルのアーティスト名、アルバム名、曲名を表示するには、以下のスクリプトを実行します。


import org.cmc.music.myid3.*

mms = new MyID3().read(new File("./music.mp3"))
if( mms == null ){
println("no metadata.")
} else {
metadata = mms.getSimplified();
println("artist:" + metadata.getArtist())
println("album:" + metadata.getAlbum())
println("song title:" + metadata.getSongTitle())
}


関連情報
MyID3のホームページ
MyID3: a java ID3 Tag Library

インストール方法
1.myid3.jarをMyID3のホームページからダウンロードして、gooryのlibディレクトリへコピー。
2.RegExpをdownloadして、jakarta-regexp-1.5.jarをgroovyのlibディレクトリへコピー。
http://jakarta.apache.org/site/downloads/downloads_regexp.cgi

ScriptomとWMIでサービスのスタートアップの種類を設定する

ScriptomとWMIでサービスのスタートアップの種類を設定するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'Alerter'")


for(service in services){
// サービスのスタートアップの種類を無効に設定
result = service.changeStartMode("Disabled")
println("result code:" + result)
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月22日土曜日

ScriptomとWMIでサービスを停止させる

ScriptomとWMIでサービスを停止させるには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'Alerter'")

for(service in services){
// サービスの停止
result = service.stopService()
println("result code:" + result)
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月21日金曜日

ScriptomとWMIでサービスを開始させる

ScriptomとWMIでサービスを開始させるには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'Alerter'")

for(service in services){
// サービスの開始
result = service.startService()
println("result code:" + result)
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月20日木曜日

ScriptomとWMIでサービス実行ユーザを取得する

ScriptomとWMIでサービス実行ユーザを取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")

for(service in services){
// サービス名とサービス実行ユーザを取得
println(service.displayName + ":" + service.startName);
}
}


実行結果

DHCP Client:LocalSystem


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月19日水曜日

ScriptomとWMIでサービスのスタートアップの種類を取得する

ScriptomとWMIでサービスのスタートアップの種類を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")

for(service in services){
// サービス名とスタートアップの種類を取得
println(service.displayName + ":" + service.startMode);
}
}


実行結果例

DHCP Client:Auto


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月18日火曜日

ScriptomとWMIでサービスが開始しているか調べる

ScriptomとWMIでサービスが開始しているか調べるには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")

for(service in services){
// サービス名と開始済みかを取得
println(service.displayName + ":" + service.started);
}
}


実行結果例

DHCP Client:true


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月17日月曜日

ScriptomとWMIでサービスタイプを取得する

ScriptomとWMIでサービスタイプを取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")


for(service in services){
// サービス名とサービスタイプを取得
println(service.displayName + ":" + service.serviceType);
}
}


実行結果

DHCP Client:Share Process


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月16日日曜日

ScriptomとWMIでサービスと実装バイナリのパスを取得する

ScriptomとWMIでサービスと実装バイナリのパスを取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")

for(service in services){
// サービス名とサービスを実装するバイナリファイルのパスを取得
println(service.displayName + ":" + service.pathName);
}
}


実行結果

DHCP Client:C:\WINDOWS\system32\svchost.exe -k netsvcs


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月15日土曜日

ScriptomとWMIでサービスのエラー制御方法を取得する

ScriptomとWMIでサービスのエラー制御方法を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")

for(service in services){
// サービス名とエラー制御方法を取得
println(service.displayName + ":" + service.errorControl);
}
}


実行結果

DHCP Client:Normal


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月14日金曜日

ScriptomとWMIでサービスがデスクトップとの対話を許可されているか調べる

ScriptomとWMIでサービスがデスクトップとの対話を許可されているか調べるには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")

for(service in services){
// サービス名とデスクトップと対話が可能かを取得
println(service.displayName + ":" + service.desktopInteract);
}
}


実行結果

DHCP Client:false


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月13日木曜日

ScriptomとWMIでサービス名と説明を取得する

ScriptomとWMIでサービス名と説明を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")

for(service in services){
// サービス名と説明を取得
println(service.displayName + ":" + service.description);
}
}


実行結果

DHCP Client:IP アドレスと DNS 名を登録および更新してネットワーク構成を管理します。


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月12日水曜日

ScriptomとWMIでサービスの停止・一時停止を受け入れるか調べる

ScriptomとWMIでサービスの停止・一時停止を受け入れるか調べるには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
locator = new ActiveXObject("WbemScripting.SWbemLocator")
service = locator.ConnectServer()
services = service.ExecQuery(
"select * from Win32_BaseService where displayName = 'DHCP Client'")

for(service in services){
// サービス名と停止・一時停止を受け入れるか取得
println(service.displayName + ":" + service.acceptStop +
":" + service.acceptPause);
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月11日火曜日

ScriptomとWMIでサービス名と状態を取得する

ScriptomとWMIでサービス名と状態を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(service in services){
// サービス名と状態を取得
println(service.displayName + ":" + service.state);
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月10日月曜日

ScriptomとWMIでコンピュータのメーカー名とシリアル番号を取得する

ScriptomとWMIでコンピュータのメーカー名とシリアル番号を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(bb in bbs){
// メーカー名とシリアル番号を取得
println(bb.manufacturer + ":" + bb.SerialNumber);
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月9日日曜日

ScriptomとWMIでドライブのボリューム名を取得する

ScriptomとWMIでドライブのボリューム名を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(drive in drives){
// ドライブ名とボリューム名を取得
println(drive.name + " - " + drive.volumeName);
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月8日土曜日

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.systemDrive + ", " + os.systemDirectory)
}
}


実行結果例

C:, C:\WINDOWS\system32


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月7日金曜日

ScriptomとWMIでファイルシステムの種類を取得する

ScriptomとWMIでファイルシステムの種類を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(drive in drives){
// ドライブ名とファイルシステムの名称を取得
println(drive.name + " - " + drive.fileSystem);
}
}


実行結果例

C: - NTFS
D: - VariantNull
E: - NTFS
G: - NTFS


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月6日木曜日

ScriptomとWMIでドライブタイプを取得する

ScriptomとWMIでドライブタイプを取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(drive in drives){
// ドライブ名とドライブタイプを取得
driveTypes = [
"Unknown", // 0:Unknown
"No Root Directory", // 1:No Root Directory
"Removable Disk", // 2:Removable Disk
"Local Disk", // 3:Local Disk
"Network Drive", // 4:Network Drive
"Compact Disc", // 5:Compact Disc
"RAM Disk", // 6:RAM Disk
]
println(drive.name + " - " + driveTypes[drive.driveType]);
}
}


実行結果例

C: - Local Disk
D: - Compact Disc
E: - Local Disk
G: - Local Disk


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月5日水曜日

ScriptomとWMIでドライブの容量を取得する

ScriptomとWMIでドライブの容量を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(drive in drives){
// ドライブ名とサイズを取得
println(drive.name + " - " + drive.size);
}
}


動作環境
JDK6 Update14, groovy1.6.3

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

2009年8月4日火曜日

ScriptomとExcelでセルを範囲指定して背景色を設定する

ScriptomとExcelでセルを範囲指定して背景色を設定するには、以下のコードのようにRangeオブジェクトを使用して範囲を指定し、interiorのcolorプロパティを設定します。


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:C1の背景色を変更(BGR)
wb.sheets(1).Range("A1:C1").interior.color = 0xc0c0c0

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


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


範囲指定して背景色を設定した結果(test11a.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")
wb.sheets(1).Range("A1:C1").interior.color = RGB(192,192,192)
wb.saveAs(sh.CurrentDirectory + "\test11b.xls")
wb.close


関連情報

2009年8月3日月曜日

ScriptomとExcelでセルのフォントを太字・取り消し線にする

ScriptomとExcelでセルのフォントを太字・取り消し線にするには、以下のコードのようにFontのboldプロパティやstrikethroughプロパティを使用します。


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).Cells(1, 1).Font.bold = true
// 1枚目のシートのA2のフォントを取り消し線に変更
wb.sheets(1).Cells(2, 1).Font.strikethrough = true

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


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


フォントを太字や取り消し線にした結果(test10a.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")
wb.sheets(1).Cells(1, 1).Font.bold = true
wb.sheets(1).Cells(2, 1).Font.strikethrough = true
wb.saveAs(sh.CurrentDirectory + "\test10b.xls")
wb.close


関連情報

2009年8月2日日曜日

ScriptomとExcelでセルのフォントの色を設定する

ScriptomとExcelでセルのフォントの色を設定するには、以下のコードのようにFontのcolorプロパティを設定します。


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).Cells(1, 1).Font.color = 0x0000FF

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


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


フォントの色を変更した結果(test9a.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")
wb.sheets(1).Cells(1, 1).Font.color = RGB(255, 0, 0)
wb.saveAs(sh.CurrentDirectory + "\test9b.xls")
wb.close


関連情報

2009年8月1日土曜日

ScriptomとExcelでセルのフォントサイズを指定する

ScriptomとExcelでフォントサイズを指定するには、以下のコードのようにFontのsizeプロパティを設定します。


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).Cells(1, 1).Font.size = 20

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


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


セルのフォントサイズを設定した結果(test8a.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")
wb.sheets(1).Cells(1, 1).Font.size = 20
wb.saveAs(sh.CurrentDirectory + "\test8b.xls")
wb.close


関連情報

ScriptomとWMIでドライブの空き容量を取得する

ScriptomとWMIでドライブの空き容量を取得するには、以下のコードを実行します。


import org.codehaus.groovy.scriptom.*;

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

for(drive in drives){
// ドライブ名と空き容量を取得
println(drive.name + " - " + drive.freeSpace);
}
}


動作環境
JDK6 Update14, groovy1.6.3

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