音楽に関する話題、プログラムに関する話題、ジョギングに関する話題、後は日々気になったことを綴っていきます。
ザ☆ミュージシャンズ・プログラマー - Exploring Music & Programming -



Windows Power Shellの覚書です。

★Excelの列挙型を確認する

1. Office プライマリ相互運用機能アセンブリをロードします。
 こんな感じ


PS C:\>[Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Excel")
GAC Version Location
--- ------- --------
True v2.0.50727 C:\WINDOWS\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll


2. 列挙型(例えばXlLineStyle)を一覧する


PS C:\>$xlLineStyle = [Microsoft.Office.Interop.Excel.XlLineStyle]
PS C:\>[enum]::GetValues($xlLineStyle) | %{ "{0,-20}: {1}" -f $_, [int]$_ }









xlContinuous: 1
xlDashDot: 4
xlDashDotDot : 5
xlSlantDashDot : 13
xlLineStyleNone: -4142
xlDouble: -4119
xlDot : -4118
xlDash: -4115



3. 列挙型を使ってみる
サンプル表(ファイル名:sample.xls、シート名:Sheet1)







A
1みかん
2りんご
3なし
4もも
5バナナ

# アセンブルします
PS C:\>[Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Excel")
# Excel.Applicationを生成します
PS C:\>$xls = New-Object -ComObject Excel.Application -property @{DisplayAlerts=$false}
# ワークブックを開きます
PS C:\>$wb = $xls.Workbooks.Open((Dir .\sample.xls).Fullname)
# ワークシートを取得します
PS C:\>$ws = $wb.Worksheets.Item("Sheet1")
# 列挙型XlDirectionを取得します
PS C:\>$xlDirection = [Microsoft.Office.Interop.Excel.XlDirection]
# A2の参照を取得して、値の入っている最下段のセルへ移動します
PS C:\>$range = $ws.Range("A2").End($xlDirection::XlDown)
# 移動先のアドレスと値を参照して、「バナナ」の行が参照できていればOK!!
PS C:\>"場所:{0}、値:{1}" -f $range.Address(), $range.Text
場所:$A$5、値:バナナ

MSDNのサイトMSDNのサイトでは、PowerShellではこうしろという指針(?)みたいな例がありました。
まぁ、これでもいいかなと思いましたが、ここは意地でも簡単にやるぞという意気込みで発見した次第です。

今日の収穫は以外にも大きかったです。

では。




コメント ( 0 ) | Trackback ( )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする




先週からWindows PowerShellの勉強を始めました。

現在はV2.0ですが、結構前から出てたんですね。
ちょうどその頃はJScriptやVBScriptのWSH開発に勤しんでました。
もっと早く知ってれば、バリバリ使ってたでしょう。

いやー、これは使えるね。Pythonライクなインタラクティブシェルも使えてとっても重宝しています。
今までWSH環境でJScriptやVBScriptをやってきましたが、この知識も最大限に使えます。
これでWindowsシステム管理者スキルアップですかね。
といっても、メインホストはOracle Solarisなんですがね(藁

Perl、Ruby、Python(Jthon)、PHP、GroovyにつづきPowerShell。
ネーミングがいいじゃないですか。後追いのシェルだけにいろんなスクリプトの言いどころ取りですね。
また、オブジェクト指向を意識していたり、.NETやC#の知識なんかもふんだんに使えるみたいですね。

以下は覚書。

Windows PowerShell起動時の設定について
vimでのps1のシンタックスハイライト等について




コメント ( 0 ) | Trackback ( )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする