Excelを開いたままでPowerShell

by manamana 21. June 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を融合させてみました。

Tags:

Development

小型マウスレシーバーの罠

by manamana 13. June 2011 23:02

最近のマウスレシーバーは小型のものが多く、ノートPCにつけっぱなしの人も多いと思います。

 

ちょっと前に Lenovo ThinkPad X61 の中古を入手して喜んでいました。
Logicook の Unifying レシーバーがぴったり合うのですが、ちょっとした落とし穴にはまりました。

移動中にマウスが反応 → スリープが解除 → HDDが起動 → ヘッドクラッシュ

幸いHDDに致命的な障害は起きませんでしたが、CHKDSKが必要な状態に陥ったのでした...orz
もちろんマウスの電源を切るなりしておけば済むことですが、それはちょっと面倒です。
ということで、マウスでのスリープ解除を禁止することにしました。

デバイスマネージャーをから、キーボードとマウスのプロパティを開きます。

 


 

それぞれの「電源の管理」タブで、スタンバイ状態の解除を不可にしてやります。

 
  ↓ ↓ ↓
 

※マウスのプロパティ設定だけでOKと思いましたが、なぜかキーボードの方も設定が必要でした。

これでカバンの中で勝手にHDDが動き出すことはなくなりましたが、今時のPCは10秒程度で起動するとのこと・・・
こんな設定はもはや不要かもしれませんね。

Tags:

Windows 7

アゲハの観察 11

by manamana 8. May 2011 11:03

GW中には羽化してくれるに違いないと思っていましたが・・・

 

まだ寝てますww  多少透けてきた感じがしますが、大丈夫でしょうか?

最近は越冬組のアゲハを見かけるようになり、我が家のオレンジにも数個の卵が産み付けられています。
先ほどもベランダに出てみると、

 

アゲハが来ていました。 わかりにくいですけど、卵も写っています。
植物が放つ紫外線の模様に寄ってくると聞いたことがありますが、アゲハにとっては魅力的なんでしょうね~

追加:
いつの間にか卵から幼虫が出ていました。 手前の卵は上のアゲハのだと思いますが、その上の黒いのが幼虫です。

 

Tags:

双子のバラ?

by manamana 3. May 2011 06:04

バラは六月の誕生花らしいですが、個人的には五月のイメージがあります。
ベランダでは二種類のバラを育てていますが、デニスの花が咲き始めました。

 

一つ大きな蕾が先行していましたが、よくみると渦巻きが二つあります。まるで双子みたいですね。
それとも単純に模様がうまく出来なかったのでしょうか?

私の住む荒川区では、都電沿線のバラが有名ですが、今年も「バラの市」を開催するようです。

「第3回あらかわバラの市」を開催します! (荒川区イベント情報)

昨年は終了間際に行って格安品をゲットしましたが、今年は早めに出かけてみようと思います。

 

Tags:

ガーデニング

しだれ桜再び

by manamana 10. April 2011 21:03

近所の公園では、ソメイヨシノよりもしだれ桜の方が多く植えられています。
先日訪れた時は5分咲き程度でしたが、今日は満開だろうと見に行きました。

 

不忍池のパララマは横長が強すぎたので、パノラマアシスト機能が付いたデジカメを利用してみました。
アシスト機能のおかげで目標を見失うことなくフレームが決まります。(いつもは適当)
今回は 6x2 のソースですが、それほど破綻していません。合成は Microsoft ICE にお任せです。

 

この公園の桜は八重の品種が多いので、しばらく満開の桜が楽しめそうです。

Tags:


スポンサーリンク

Calendar

<<  August 2020  >>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

View posts in large calendar

Month List

Twitter