Word-Dokumente mit Powershell generieren

Durch die integrierte COM-Anbindung ist es einfach, Applikationen wie Word und Excel über die Powershell fernzusteuern. Ausgehend von dem Beispiel auf http://command-line-programming.suite101.com/article.cfm/how_to_create_a_word_document_with_powershell, das ich etwas anpassen musste, hier ein ‚Minimalbeispiel‘:

$oWord = New-Object -Com Word.Application
$oWord.Visible = $true
 
$oMissing = [System.Reflection.Missing]::Value
$oDoc = $oWord.Documents.Add($oMissing, $oMissing, $oMissing, $oMissing)
 
# $odoc | get-Member save* |Select-Object definition| format-list
 
$oPara1 = $oDoc.Paragraphs.Add($oMissing)
 
$oPara1.Range.Style = "Überschrift 1"
$oPara1.Range.Text = "Hallo, ich bin etwas Text"
 
$oPara1.Range.InsertParagraphAfter()
$oPara1.Range.Text = "Hallo, ich bin etwas Text"
$oPara1.Range.InsertParagraphAfter()
 
$oPara2 = $oDoc.Paragraphs.Add($oMissing)
$oPara2.Range.Text = "Hier der zweite Absatz"
$oPara2.Range.InsertParagraphAfter()
 
$filename = "C:\MeinDokument.doc"
$oDoc.SaveAs([ref]$filename,[ref]$oMissing, 
[ref]$oMissing,[ref]$oMissing, [ref]$oMissing,
[ref]$oMissing,[ref]$oMissing,[ref]$oMissing, 
[ref]$oMissing,[ref]$oMissing, [ref]$oMissing,
[ref]$oMissing,[ref]$oMissing,[ref]$oMissing,
[ref]$oMissing)
 
$oDoc.Close()
$oWord.Quit()

Uwe

Uwe Ziegenhagen mag LaTeX und Python, auch gern in Kombination. Hat Dir dieser Beitrag geholfen und möchtest Du Dich dafür bedanken? Dann unterstütze doch vielleicht die Dingfabrik Köln e.V. mit einem kleinen Beitrag. Details zur Bezahlung findest Du unter Spenden für die Dingfabrik.

More Posts - Website