我当前正在打开,并使用Excel VBA编辑PDF文件。我用在Excel行中找到的数据编辑PDF文件。下面的代码:
class Setup(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(Setup, self).__init__(parent)
self.setWindowIcon(QtGui.QIcon('icon.png'))
self.initUI()
def initUI(self):
self.setWindowTitle('Auto-Annoucement - Setup')
self.showMaximized()
self.createTable()
self.setupmon = QWidget()
self.setup_layout = QVBoxLayout(self.setupmon)
self.setup_layout.addWidget(self.tableViewmon)
def createTable(self):
self.modelmon = QtGui.QStandardItemModel(self)
self.modelmon.setHorizontalHeaderLabels(self, ['Time', 'File Name'])
self.tableViewmon = QtWidgets.QTableView(self)
self.tableViewmon.setModel(self.modelmon)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
setup = Setup()
setup.show()
sys.exit(app.exec_())
这是我第一次使用VBA处理PDF,因此,我为我所走的路感到很自豪。我只是想不出如何用唯一的名称保存已编辑的PDF。我在线上找到了这行Sub WriteToAdobeFields()
Dim AcrobatApplication As Acrobat.AcroApp
Dim AcrobatDocument As Acrobat.AcroAVDoc
Dim fcount As Long
Dim aFieldName As String
Dim pdfFilePath As String
Dim outputFolderPath As String
Dim WasSaved As Variant
Dim wb As Workbook
Dim ws As Excel.Worksheet
Set wb = ActiveWorkbook
Set ws = wb.Sheets("Entry Form")
Set AcrobatApplication = CreateObject("AcroExch.App")
Set AcrobatDocument = CreateObject("AcroExch.AVDoc")
pdfFilePath = GetFolder("Select the Empty Form")
outputFolderPath = GetFolder("Select the Folder to Place the Completed Forms")
If AcrobatDocument.Open(pdfFilePath, "") Then
AcrobatApplication.Show
Set AcroForm = CreateObject("AFormAut.App")
Set Fields = AcroForm.Fields
Dim stringCreator As String
fcount = Fields.Count
Fields("agree_no").Value = ws.Range("C3").Text
Fields("super_no").Value = ws.Range("F3").Text
Fields("exp_date").Value = ws.Range("G3").Text
stringCreator = ws.Range("I3") & Chr(10) & ws.Range("J3")
Fields("supp_name").Value = stringCreator
stringCreator = ""
stringCreator = ws.Range("L3") & Chr(10) & ws.Range("M3")
Fields("rec_name").Value = stringCreator
stringCreator = ""
Fields("sup_comm").Value = ws.Range("H3").Text
Fields("rec_comm").Value = ws.Range("K3").Text
stringCreator = ws.Range("n2").Text & ":" & Chr(10) & ws.Range("o2").Text & ":" & Chr(10) & ws.Range("p2").Text & ":" & Chr(10) & ws.Range("q2").Text & ":" & Chr(10) & ws.Range("r2").Text & ":" & Chr(10) & ws.Range("s2").Text & ":" & Chr(10) & ws.Range("t2").Text & ":" & Chr(10) & ws.Range("u2").Text & ":" & Chr(10) & ws.Range("v2").Text & ":" & Chr(10) & ws.Range("w2").Text & ":" & Chr(10) & ws.Range("x2").Text & ":" & Chr(10) & ws.Range("y2").Text & ":" & Chr(10) & ws.Range("z2").Text & ":" & Chr(10) & ws.Range("aa2").Text & ":" & Chr(10) & ws.Range("ab2").Text & ":" & Chr(10) & ws.Range("ac2").Text & ":" & Chr(10) & ws.Range("ad2").Text & ":" & Chr(10) & ws.Range("ae2").Text & ":" & Chr(10) & ws.Range("af2").Text & ":" & Chr(10) & ws.Range("ag2").Text & ":" & Chr(10) & ws.Range("ah2").Text & ":" & Chr(10) & ws.Range("ai2").Text & ":" & Chr(10) & ws.Range("aj2").Text & ":" & Chr(10) & ws.Range("ak2").Text & ":"
Fields("basis").Value = stringCreator
stringCreator = ""
stringCreator = ws.Range("n3").Text & Chr(10) & ws.Range("o3").Text & Chr(10) & ws.Range("p3").Text & Chr(10) & ws.Range("q3").Text & Chr(10) & ws.Range("r3").Text & Chr(10) & ws.Range("s3").Text & Chr(10) & ws.Range("t3").Text & Chr(10) & ws.Range("u3").Text & Chr(10) & ws.Range("v3").Text & Chr(10) & ws.Range("w3").Text & Chr(10) & ws.Range("x3").Text & Chr(10) & Chr(10) & ws.Range("y3").Text & Chr(10) & ws.Range("z3").Text & Chr(10) & ws.Range("aa3").Text & Chr(10) & ws.Range("ab3").Text & Chr(10) & ws.Range("ac3").Text & Chr(10) & Chr(10) & ws.Range("ad3").Text & Chr(10) & ws.Range("ae3").Text & Chr(10) & ws.Range("af3").Text & Chr(10) & ws.Range("ag3").Text & Chr(10) & ws.Range("ah3").Text & Chr(10) & ws.Range("ai3").Text & Chr(10) & ws.Range("aj3").Text & Chr(10) & ws.Range("ak3").Text
Fields("est_reimbursement").Value = stringCreator
stringCreator = ""
WasSaved = AcrobatDocument.Save(PDSaveFull, "whereIWantItSaved")
Else
MsgBox "failure"
End If
End Sub
,但是我不确定它是否旧,因为它没有说WasSaved = AcrobatDocument.Save(PDSaveFull, "whereIWantItSaved")
具有AcrobatDocument
功能。