by manamana
21. 6月 2011 01:34
最近 PowerShell にはまっています。
PowerShell は、Win7/Server 2008R2 から 「標準搭載」 されたシェルスクリプト環境で、
Active Directory, Exchange, SQL Server の管理に深く関わっています・・・というか便利過ぎます。
関連情報はそれなりに出ていますが、すいません、正直無視していました。
現場で使ってみて、目から鱗が落ちました。 これはすばらしい環境です。
で、タイトルの内容です。
PowerShell から Excel を呼び出して操作する方法はよく知られていますが、
動作中の Excel を開く技はそれほど知られていないと思うので紹介します。
System.Runtime.InteropServices の機能を使い、動作中のオブジェクトを捕まえます。
Excel.Application のオブジェクトを捕まえて、Open中のブックと同名の WorkBook を取得する
ファンクション Get-ExcelBook() はこんな感じになります。
Function Get-ExcelBook($BookName)
{
#=== 稼働中の Excel を捕まえる
$ex = [System.Runtime.InteropServices.Marshal]::GetActiveObject("Excel.Application")
if ($ex -eq $null) { return $null }
#=== Open中のWorkBookから目的のBookを見つける
foreach ($bk in $ex.WorkBooks)
{
if ($bk.Name -eq $BookName)# 見つかった!
{
return $bk
}
}
return $null
}
"Book1.xlsx" を開いている状態で、次のコマンドを実行してやれば、A1-A10に "ABC" と文字を打ちます。
$wb = Get-ExcelBook("Book1.xlsx")
for ($i = 1; $i -le 10; $i++)
{
$cell = "A"+$i
$wb.worksheets.item(1).Range($cell).Value2= "ABC"
}
従来のVBAは、.Net Framework に未対応であり、時代遅れの感があります。
といって、VSTO は配布が難しく、一般的ではないと感じています。
こうなったら、Office のマクロ環境が PowerShell になれば良いのにと思う今日この頃です。
(2013/01/24 追記)
発想を変えて、ExcelとPowerShellを融合させてみました。
d65617a1-558c-4f58-a5aa-9eef1e379694|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Development
by manamana
13. 6月 2011 23:02
最近のマウスレシーバーは小型のものが多く、ノートPCにつけっぱなしの人も多いと思います。
ちょっと前に Lenovo ThinkPad X61 の中古を入手して喜んでいました。
Logicook の Unifying レシーバーがぴったり合うのですが、ちょっとした落とし穴にはまりました。
移動中にマウスが反応 → スリープが解除 → HDDが起動 → ヘッドクラッシュ
幸いHDDに致命的な障害は起きませんでしたが、CHKDSKが必要な状態に陥ったのでした...orz
もちろんマウスの電源を切るなりしておけば済むことですが、それはちょっと面倒です。
ということで、マウスでのスリープ解除を禁止することにしました。
デバイスマネージャーをから、キーボードとマウスのプロパティを開きます。
それぞれの「電源の管理」タブで、スタンバイ状態の解除を不可にしてやります。
↓ ↓ ↓
※マウスのプロパティ設定だけでOKと思いましたが、なぜかキーボードの方も設定が必要でした。
これでカバンの中で勝手にHDDが動き出すことはなくなりましたが、今時のPCは10秒程度で起動するとのこと・・・
こんな設定はもはや不要かもしれませんね。
09a96330-319d-486f-bee5-f2f2bc528b1d|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
Windows 7
by manamana
8. 5月 2011 11:03
GW中には羽化してくれるに違いないと思っていましたが・・・
まだ寝てますww 多少透けてきた感じがしますが、大丈夫でしょうか?
最近は越冬組のアゲハを見かけるようになり、我が家のオレンジにも数個の卵が産み付けられています。
先ほどもベランダに出てみると、
アゲハが来ていました。 わかりにくいですけど、卵も写っています。
植物が放つ紫外線の模様に寄ってくると聞いたことがありますが、アゲハにとっては魅力的なんでしょうね~
追加:
いつの間にか卵から幼虫が出ていました。 手前の卵は上のアゲハのだと思いますが、その上の黒いのが幼虫です。
6bdc20b2-7c2c-4ffd-a2c7-9e122bd1665b|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
by manamana
3. 5月 2011 06:04
バラは六月の誕生花らしいですが、個人的には五月のイメージがあります。
ベランダでは二種類のバラを育てていますが、デニスの花が咲き始めました。
一つ大きな蕾が先行していましたが、よくみると渦巻きが二つあります。まるで双子みたいですね。
それとも単純に模様がうまく出来なかったのでしょうか?
私の住む荒川区では、都電沿線のバラが有名ですが、今年も「バラの市」を開催するようです。
「第3回あらかわバラの市」を開催します! (荒川区イベント情報)
昨年は終了間際に行って格安品をゲットしましたが、今年は早めに出かけてみようと思います。
fb9be93e-981c-48ed-8bf2-6129a8b1e419|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
ガーデニング
by manamana
10. 4月 2011 21:03
近所の公園では、ソメイヨシノよりもしだれ桜の方が多く植えられています。
先日訪れた時は5分咲き程度でしたが、今日は満開だろうと見に行きました。
不忍池のパララマは横長が強すぎたので、パノラマアシスト機能が付いたデジカメを利用してみました。
アシスト機能のおかげで目標を見失うことなくフレームが決まります。(いつもは適当)
今回は 6x2 のソースですが、それほど破綻していません。合成は Microsoft ICE にお任せです。
この公園の桜は八重の品種が多いので、しばらく満開の桜が楽しめそうです。
fc62040e-421d-4c84-ba29-3479dbb3c8a3|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags: