単語文書を開き、いくつかのブックマークを編集して新しい.docファイルに保存する短いvbscriptを作成しました。vbscriptをWord文書をpdfに変換する
これをPDFファイルに変換する必要があります。これは、cutePDF(バーチャルプリンタに送信する)のようなものには簡単ですが、その手順を自動化したいと思います。
この手順に必要なvbscriptのアイデアは、誰でも印刷ステップの自動化や別の方法で助けてください。
感謝
デイブ
単語文書を開き、いくつかのブックマークを編集して新しい.docファイルに保存する短いvbscriptを作成しました。vbscriptをWord文書をpdfに変換する
これをPDFファイルに変換する必要があります。これは、cutePDF(バーチャルプリンタに送信する)のようなものには簡単ですが、その手順を自動化したいと思います。
この手順に必要なvbscriptのアイデアは、誰でも印刷ステップの自動化や別の方法で助けてください。
感謝
デイブ
MSによると、あなたが/としてアドオンなしのWord 2010でPDFに保存することができます。 Word 2007にはアドオンが必要です.VBScriptコードについてはhereを参照してください。どちらの場合でも、
objDoc.SaveAs <FullPathToOutputFile>, wdFormatPDF
のようなものは、「プリンタ」を使わなくてもこのトリックを行う必要があります。
残念ながら、私は2003という単語を使用していると言及していませんでした。プリンタメソッドでこれを行う方法はありますか? – Dave
Word 2003を使用している場合は、変換を行うために、何らかの外部ライブラリ/ファイルが必要になります。
このヘルプのようなもの:http://www.verypdf.com/pdfcamp/word-to-pdf-converter.htmlはコマンドラインオプションを持つようです。
私はかつてblog article on this matterと書いていました。
Function DocToPdf(docInputFile, pdfOutputFile)
Dim fileSystemObject
Dim wordApplication
Dim wordDocument
Dim wordDocuments
Dim baseFolder
Set fileSystemObject = CreateObject("Scripting.FileSystemObject")
Set wordApplication = CreateObject("Word.Application")
Set wordDocuments = wordApplication.Documents
docInputFile = fileSystemObject.GetAbsolutePathName(docInputFile)
baseFolder = fileSystemObject.GetParentFolderName(docInputFile)
If Len(pdfOutputFile) = 0 Then
pdfOutputFile = fileSystemObject.GetBaseName(docInputFile) + ".pdf"
End If
If Len(fileSystemObject.GetParentFolderName(pdfOutputFile)) = 0 Then
pdfOutputFile = baseFolder + "\" + pdfOutputFile
End If
' Disable any potential macros of the word document.
wordApplication.WordBasic.DisableAutoMacros
Set wordDocument = wordDocuments.Open(docInputFile)
' See http://msdn2.microsoft.com/en-us/library/bb221597.aspx
wordDocument.SaveAs pdfOutputFile, wdFormatPDF
wordDocument.Close WdDoNotSaveChanges
wordApplication.Quit WdDoNotSaveChanges
Set wordApplication = Nothing
Set fileSystemObject = Nothing
End Function
ファイルを閉じることは重要です。これを行うには、Word 2007 with PDFプラグインまたはWord 2010+が必要です。
RafaelCreateObject("Word.Application")
新しいMSWordプロセスの作成に使用します。私のシステムでは、このコードはワードプロセスを正しく閉じません。 word2pdf.vbs
に保存するこのコードは、それはCMDで、このコマンドによって呼び出された場合、このコードが正しい
Const wdExportAllDocument = 0
Const wdExportOptimizeForPrint = 0
Const wdExportDocumentContent = 0
Const wdExportFormatPDF = 17
Const wdExportCreateHeadingBookmarks = 1
if Wscript.Arguments.Count > 0 Then
' Get the running instance of MS Word. If Word is not running, Create it
On Error Resume Next
Set objWord = GetObject(, "Word.Application")
If Err <> 0 Then
Set objWord = CreateObject("Word.Application")
End If
On Error GoTo 0
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(WScript.Arguments(0))
Set objDoc = objWord.Documents.Open(WScript.Arguments(0),,TRUE)
'Export to PDF using preferred settings
pdf = objWord.ActiveDocument.ExportAsFixedFormat(_
WScript.Arguments(1), _
wdExportFormatPDF, False, wdExportOptimizeForPrint, _
wdExportAllDocument,,, _
wdExportDocumentContent, _
False, True, _
wdExportCreateHeadingBookmarks _
)
'Quit MS Word
objWord.DisplayAlerts = False
objWord.Quit(False)
set objWord = nothing
set objFSO = nothing
Else
msgbox("You must select a file to convert")
End If
に動作しますが、:
wscript word2pdf.vbs input.docx output.pdf
私は、迅速なGoogle検索は、このhttp://bytescout.com/products/を見つけましたdeveloper/pdfdocscoutsdk/pdfdocscout_example_vbscript.html –
これはコードからpdfを作成するためのものですが、すでに持っているdocという言葉を変換する必要があります。 – Dave