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: