テキストファイルをWordに読み込ませ、Wordの文書校正ツールでちょっとした誤字を拾い上げる、ということをやってみた。

PowerShellのnew-objectはCOMコンポーネントのオブジェクト生成もできちゃうので当然Office絡みの自動化にも使える、と。

$fn = "utf8.txt"
$text = [String]::Join("`n", (get-content -encoding UTF8 $fn))

$word = new-object -comObject "Word.Application"
$word.Visible = $true

$doc = $word.Documents.Add()

$range = $doc.Content
$range.Text = $text

$doc.CheckGrammar()

今までこういうのはJscriptで書いていたんだけども、get-conetntにエンコードを指定できるのが楽ちんでいい(たまたまUTF8なテキストだったので)。対応しているエンコーディングは少ないが、.NET Frameworkのクラスを使って書いてしまえばよい、というのもまたパワフリャ。

Windows Vista Ultimate x64
PowerShell 1.0 x64
Microsoft Word 2007


トラックバック(0)

このブログ記事を参照しているブログ一覧: PowerShellから Wordを操作する

このブログ記事に対するトラックバックURL: http://passing.breeze.cc/mt/mt-tb.cgi/105

コメントする

>>サイトトップへ

address

このブログ記事について

このページは、tckzが2009年7月12日 01:03に書いたブログ記事です。

ひとつ前のブログ記事は「PowerShellから WSUSの更新を自動承認する」です。

次のブログ記事は「OmegaTの訳文ファイル生成をコマンドラインで」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.261