前回の記事関連で、
WordやPowerPointもドンとこいです。 [PowerShellからNetOfficeを使ってExcelを操作する方法] https://t.co/kAm2EcZukH pic.twitter.com/e943LhO5Vh
— きぬあさ (@kinuasa) 2016年8月18日
なんてことをツイートしたので、NetOfficeでWordやPowerPointを操作するコードも載せておきます。
NetOfficeでWordを操作するコード
Wordで新規文書を作成して、文頭に日付と時刻を挿入するコードです。
[void][Reflection.Assembly]::LoadFile("C:\System\NetOffice\NetOffice.dll") [void][Reflection.Assembly]::LoadFile("C:\System\NetOffice\OfficeApi.dll") [void][Reflection.Assembly]::LoadFile("C:\System\NetOffice\WordApi.dll") [void][Reflection.Assembly]::LoadFile("C:\System\NetOffice\VBIDEApi.dll") $app = New-Object NetOffice.WordApi.Application $app.Visible = $true $doc = $app.Documents.Add() $rng = $doc.Range(0,0) $rng.InsertAfter((Get-Date).ToString("yyyy/MM/dd HH:mm:ss")) $rng.Bold = $true $rng.Font.ColorIndex = 5 $doc.SaveAs("C:\Test\Sample.docx") $doc.Close() $app.Quit() $app.Dispose()
NetOfficeでPowerPointを操作するコード
PowerPointで新規プレゼンテーションを作成して、スライドを追加、追加したスライドにテキストボックスを挿入するコードです。
[void][Reflection.Assembly]::LoadFile("C:\System\NetOffice\NetOffice.dll") [void][Reflection.Assembly]::LoadFile("C:\System\NetOffice\OfficeApi.dll") [void][Reflection.Assembly]::LoadFile("C:\System\NetOffice\PowerPointApi.dll") $app = New-Object NetOffice.PowerPointApi.Application $app.Visible = [NetOffice.OfficeApi.Enums.MsoTriState]::msoTrue $pres = $app.Presentations.Add() $sld = $pres.Slides.Add(1, [NetOffice.PowerPointApi.Enums.PpSlideLayout]::ppLayoutBlank) $tbox = $sld.Shapes.AddTextbox([NetOffice.OfficeApi.Enums.MsoTextOrientation]::msoTextOrientationHorizontal, 100, 100, 300, 200) $tbox.TextFrame2.TextRange.Text = (Get-Date).ToString("yyyy/MM/dd HH:mm:ss") $tbox.TextFrame2.TextRange.Font.Size = 24 $pres.SaveAs("C:\Test\Sample.pptx") $app.Quit() $app.Dispose()
この記事へのコメントはありません。