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
>> Home