ID Employee Date
1234 me 11/03/2015
9999 U 11/03/2015
1111 Us 11/03/2015
嗨,
我在excel中有上表,当用户完成用户表单并点击“保存”时,会填充该表。按钮。一旦他们保存了出口'按钮已启用,用户可以将用户表单提交的最后一条记录(行)导出到模板上相关位置的单词模板。我在ID,员工和日期的附加单词模板中创建了书签,并希望将数据导出到这些位置。
我已经在'导出'上写了以下代码。按钮,但我似乎无法让出口工作。代码会一直运行,直到模板打开,但将数据发布到书签会导致错误。
Sub PDFExportRow()
Dim WRD As Object, DOC As Object, ac As Long
On Error Resume Next
Set WRD = CreateObject("Word.Application")
If Err.Number <> 0 Then
Set WRD = CreateObject("Word.Application")
End If
On Error GoTo 0
Set DOC = WRD.Documents.Open("C:\RC_QA_TEST\Template\QA_REPORT.dotm")
WRD.Visible = True
ac = ActiveCell.Row
With DOC
.FormFields("ID").Result = Cells(ac, "A")
.FormFields("Employee").Result = Cells(ac, "B")
.FormFields("Date").Result = Cells(ac, "C")
End With
'set active printer to one you use here
WRD.ActivePrinter = "CutePDF Writer"
'print document
DOC.PrintOut
'close document without saving
DOC.Close False
'close application
WRD.Quit
Set WRD = Nothing
Set DOC = Nothing
End Sub
非常感谢任何帮助。
答案 0 :(得分:0)
如果代码从DOC.FormFields部分开始有错误,那么我认为问题是你没有实际使用表单字段,你已经使用了书签,所以你需要使用适当的方法。
试试这个:
With DOC
.Bookmarks("ID").Range.Text = Cells(ac, "A")
.Bookmarks("Employee").Range.Text = Cells(ac, "B")
.Bookmarks("Date").Range.Text = Cells(ac, "C")
End With
请注意,更新书签中的文本后,书签将从文档中删除。由于您在未保存的情况下关闭文档,因此当您重新打开时,书签将再次出现,但如果要保存单词doc,则需要重置书签,或者保持打开并尝试再次替换文本。