0

私はフォーラムに参加したばかりで、参加できてうれしく思います。私はこの特定の問題を約3週間抱えています。

私がやろうとしているのは、関数を自動化するマクロを作成することです。大量の契約書を常に処理し、各 .doc に情報 (名前、住所、ID 番号など) を入力する必要があります。そのドキュメントを PDF として保存するのは非常に時間がかかります。そこで、.doc に自動的に保存される情報を挿入できる Excel テーブルを作成しようとしました。このコピーと貼り付けは、特別な貼り付け機能で行われます (Excel で何かを変更すると、.doc が変更されるため、全体が得られます)。契約書は、Excel に入力すると埋められるいくつかの空白で入力されます)。

Excelのセルに適切な情報を入力した後、セルの1つからの情報を含むPDFとしてそのドキュメントを「保存」する必要があります(この場合、特定のセルは会社名が入力された場所です)。 o その Excel テーブルを、会社名を持つ新しいタブ (.doc が保存されたセルと同じセル) にコピーします。

これは私がこれまでに持っているものです:

Sub Autocontratos()

Set appWD = CreateObject("Word.Application")
appWD.Visible = True

appWD.Documents.Open Filename:="C:\Users\lguimaraes\Dropbox\Trabalho em equipe\Laurence\Contracts.docx"

appWD.ActiveDocument.SaveAs Filename:= _
    ThisWorkbook.Path & "/" & "Contratos" & Range("C2").pdf, ExportFormat:= _
    wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _
    wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
    Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
    CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
    BitmapMissingFonts:=True, UseISO19005_1:=False
    ChangeFileOpenDirectory "C:\Users\lguimaraes\Dropbox\Trabalho em equipe\Laurence\Contratos"

appWD.ActiveDocument.Close
appWD.Quit

End Sub
4

1 に答える 1

1

問題の行の先頭を次のように変更してみてください。

appWD.ActiveDocument.ExportAsFixedFormat Filename:= _
     ThisWorkbook.Path & "\" & "Contratos" & Range("C2") & ".pdf", ExportFormat:= _

他の部分は同じに保ちます。

コメント後に編集:

'名前を付けて保存'メソッドに戻って、次のことを試してください。

appWD.ActiveDocument.SaveAs _
ThisWorkbook.Path & "\" & "Contratos" & Range("C2") & ".pdf", FileFormat:=17

今回は、複雑な'.SaveAs`メソッドの代わりに新しい命令を使用してみてください。

于 2013-03-19T19:55:14.813 に答える