2

Небольшая помощь в этом, я пытаюсь динамически вставлять картинки в текстовый документ. Немного предыстории, у меня есть папка около 1000 png, я хочу вставить каждый 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() 
}

1 ответ1

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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .