2

Так что у меня уже есть основной код для этого. т.е. конвертировать папку с документами Word в PDF.

# Acquire a list of DOCX files in a folder

$Files=GET-CHILDITEM ‘C:\Users\Ashley\downloads\articles\*.DOC’
$Word=NEW-OBJECT –COMOBJECT WORD.APPLICATION


Foreach ($File in $Files) {

    # open a Word document, filename from the directory

    $Doc=$Word.Documents.Open($File.fullname)

    # Swap out DOCX with PDF in the Filename

    $Name=($Doc.Fullname).replace(“doc”,”pdf”)

    # Save this File as a PDF in Word 2010/2013
    $Doc.saveas([ref] $Name, [ref] 17)
    $Doc.close()

}

Но как оно есть, если у меня есть файлы DOCX. Мне нужно повторно запустить код, заменив doc на docx. Есть ли какой-нибудь способ, которым я могу заставить функцию замены заменить документ и документацию для PDF? Таким образом, устраняя необходимость повторного запуска? Спасибо!

1 ответ1

1

Это должно помочь. Обратите внимание, что get-childitem ищет doc * и регулярное выражение в замене.

$Files=GET-CHILDITEM 'C:\Users\Ashley\downloads\articles\*.DOC*'
$Word=NEW-OBJECT –COMOBJECT WORD.APPLICATION

Foreach ($File in $Files) {

    # open a Word document, filename from the directory

    $Doc=$Word.Documents.Open($File.fullname)

    # Swap out DOCX with PDF in the Filename

    $Name=$Doc.Fullname -replace('doc([x]{0,1})',"pdf")

    # Save this File as a PDF in Word 2010/2013
    $Doc.saveas([ref] $Name, [ref] 17)
    $Doc.close()

}

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