1

私は、大きなスプレッドシートをループし、各行を XML にエクスポートし、XML ファイルを PDF フォーム (XFA アーキテクチャ) にインポートし、入力された各フォームを事前定義されたフォルダーに保存する VBA マクロに取り組んでいます。問題は、96 回の反復 (繰り返しテスト) の後、新しく完成した PDF ごとに、最も古い PDF がフォルダーから消えてしまうことです。ループされるコードは次のとおりです。

Sub AcroExport()

Dim OutputPath As String
Dim theForma As New AcroAVDoc
Dim theform As AcroPDDoc
Dim jso As Object
OutputPath = GetMyDocuments()

ActiveWorkbook.XmlMaps("1042-S_Map").Export OutputPath & "f1042sExportTemp.xml", True

If theForma.Open("C:\Users\E050704\Desktop\f1042s.pdf", "") Then

    Set theform = theForma.GetPDDoc
    Set jso = theform.GetJSObject
    jso.importXFAData OutputPath & "f1042sExportTemp.xml"
    theform.Save 1, OutputPath & "1042-S_K-1_Output\" & "Form 1042-S - " & Range("ReciptNameCell").Value & ".pdf"
    theForma.Close True

End If

End Sub

また、JavaScript オブジェクトから SaveAs メソッドを試してみましたが、結果はわずかに異なります (まだ 96 個のファイルがありますが、最も古いファイルを削除する代わりに、単に新しいファイルを作成しません)。

96 個以上のファイルを保持する方法に完全に困惑しました。どんな助けでも大歓迎です。

参考までに、私は Windows 7 Enterprise、Excel 2007、および Acrobat 9 Standard (バージョン 9.4.6) を使用しています。

4

0 に答える 0