複数のMS-WordのドキュメントをPDFへ変換する
結論としては、pdfにしてからまとめればいいことにする。
まとめるのはスクリプトじゃできないから、個々にpdf化するスクリプトに変更した。
PDFにするのに変更履歴とかコメントが不要だったので、それも潰した。
本当は結合までしたかったけど、VBScriptでのやり方が分からない。
iTextSharpとpowershell使えばできるんだが、、、COMじゃないとVBSから呼べないし。
結局、pdfをまとめるのは、CubePDF Pageを使った。
自動化したかったらPDFtkを使えばいいし。
Option Explicit ' 検索対象ファイル拡張子 Dim targetFileExp targetFileExp = Array("doc", "docx") Dim objFso Set objFso = CreateObject("Scripting.FileSystemObject") Dim objWord Set objWord = CreateObject("Word.Application") Dim objDoc Dim objView Dim strInFile Dim strOutFile ' 一応見せておく objWord.Visible = True ' カレントディレクトリのファイルリストから抽出する Dim exp Dim file For Each exp in targetFileExp For Each file In objFso.GetFolder("./").Files if UCase(objFso.GetExtensionName(file)) = UCase(exp) Then strInFile = file.path strOutFile = objFso.BuildPath( file.ParentFolder , objFso.GetBaseName(file.Name) & ".pdf" ) WScript.Echo "PDF変換:" & file.Name Set objDoc = objWord.Documents.Open(strInFile) If Err.Number = 0 Then ' 変更履歴マージ objDoc.Revisions.AcceptAll ' 変更履歴オフ Set objView = objWord.ActiveDocument.ActiveWindow.View objView.RevisionsView = 0 ' 0:wdRevisionsViewFinal objView.ShowRevisionsAndComments = False 'PDF形式で保存 objDoc.SaveAs2 strOutFile, 17 ' 17:PDF objDoc.Close Else WScript.Echo "エラー:" & Err.Description end if End If Next Next objWord.Quit set objFso = Nothing set objDoc = Nothing set objWord = Nothing MsgBox "終了"