Word文書/テンプレートを開き、特定のファイル名を持つWord文書をPDFとして保存するExcelユーザーフォーム/ワークシートがありますフォルダ。VBAレイトバインディング - Word参照を持たないユーザーのコンピュータに基づくユーザーフォームの場合
私のExcelでの参照では、Word Object Libraryが有効になっています。私のuserformは、これらの参照が有効になっていない他のユーザーのコンピュータで使用されます(すべてのユーザーが有効にするには面倒です)。
私が知っているコードは「初期バインディング」であり、他のユーザーがWordへの参照を有効にする必要性を回避するためには「遅延バインディング」である必要があります。
私の問題は、私は知っているか私のコードでこれを行う方法を理解していないです。
Dim objWord As Word.Application
Dim docWord As Word.Document
Set objWord = CreateObject("Word.Application")
Set docWord = objWord.Documents.Open(ThisWorkbook.Path & "\MyNewWordDocument.doc")
docWord.ExportAsFixedFormat OutputFileName:=ThisWorkbook.Path & "\" + Cells(1, 6) + " - Offer Letter.pdf", _
ExportFormat:=wdExportFormatPDF
objWord.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
objWord.Quit
このコードは、自分のために完全に機能しています。しかし、言及されているように、それは有効にされていないWordへの参照のために他人のために働かない。
参照文書ではなく、Wordのインストールを以下。 Word *がインストールされていない他のユーザーは*ですか? – Comintern
あなたは*あなたのオブジェクトを 'Word .__ something__'と宣言することで*アーリーバインディング*を使用しました。代わりに、それらをジェネリックな 'As Object'型として宣言してください。また、コードで明示的に宣言する必要がある列挙定数については注意してください。 –
あなたのユーザーにWordがインストールされていない場合、 'CreateObject(" Word.Application ")'は何をすべきでしょうか? –