Powershellは動的に画像をWordに追加する


2

これを少し手助けして、私は動的にWord文書にPicturesを挿入しようとしています。ちょっとした背景、私は各pngをそれ自身の単語文書に挿入したいと思う約1000 pngのフォルダーがあり、それから単語.docxとして保存します(保存方法はわかっています)、現在各文書を取得するためのループがあります、しかし、各ファイルのパスをハードコーディングせずに、画像を追加する方法を理解することはできません。まだPowerShellにはちょっと新しい、アドバイスしてください

    $Source = "C:\test"

$word_app = New-Object -ComObject word.application

Get-Childitem -Path $Source -recurse |  Where-Object { $_.extension -eq  ".png"} | % {
  $word_app.Visible = $True  
  $objDoc = $word_app.Documents.Add()  
  $objSelection = $word_app.Selection 

  $objShape = $word_app.Shapes 
  [void] $objShape.AddPicture() 
}

あなたの繰り返しごとに ForEach-Object% 現在の.pngファイルは次のように表されます。 $_
root

1
そして保存することを忘れないでください。
harrymc

回答:


0
$Source = Get-Childitem -Path C:\test -recurse |  Where-Object { $_.extension -eq  '.png'}
    $word_app = new-object -comobject word.application

     ForEach ( $i in $Source ) {
        $word_app.Visible = $True
        $objDoc = $word_app.documents.add()
        $objSelection = $word_app.Selection
        $ImageName = $i.FullName
        $objSelection.InlineShapes.AddPicture($ImageName)
        $objSelection.InsertCaption(-1, "`t $i")
        $filename = "c:\\test\" + $i.BaseName + ".docx"
        $objDoc.SaveAs([REF]$filename)
        $objDoc.Close()
     }

    # Close Word
    $word_app.Quit()
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($objDoc)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.