Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用vba预填充PDf_Excel_Vba_Pdf_Automation_Autofill - Fatal编程技术网

Excel 使用vba预填充PDf

Excel 使用vba预填充PDf,excel,vba,pdf,automation,autofill,Excel,Vba,Pdf,Automation,Autofill,我在网上找到了一个用于填充pdf的代码,我不熟悉vba,因此不知道如何修复它,但通过尝试和错误,我能够填充pdf并靠近“保存”菜单,但现在在填充名称时,我遇到了一个问题,只有第一行数据被保存为默认名称,而下一行数据创建了一个错误,提示您是否要替换上一个文件,因此我不确定如何修复该文件并将其单独命名(唯一)。同样,我对vba知之甚少。PFA代码和屏幕截图 Option Explicit Sub PDFTemplate() Dim PDFFldr As FileDialog Set PDFFl

我在网上找到了一个用于填充pdf的代码,我不熟悉vba,因此不知道如何修复它,但通过尝试和错误,我能够填充pdf并靠近“保存”菜单,但现在在填充名称时,我遇到了一个问题,只有第一行数据被保存为默认名称,而下一行数据创建了一个错误,提示您是否要替换上一个文件,因此我不确定如何修复该文件并将其单独命名(唯一)。同样,我对vba知之甚少。PFA代码和屏幕截图

Option Explicit

Sub PDFTemplate()

Dim PDFFldr As FileDialog

Set PDFFldr = Application.FileDialog(msoFileDialogFilePicker)

With PDFFldr

    .Title = "Select PDF file to attach"

    .Filters.Add "PDF Type Files", "*.pdf", 1

    If .Show <> -1 Then GoTo NoSelection

    Sheet1.Range("B1").Value = .SelectedItems(1)

End With

NoSelection:

End Sub

Sub SavePDFFolder()

Dim PDFFldr As FileDialog

Set PDFFldr = Application.FileDialog(msoFileDialogFolderPicker)

With PDFFldr

    .Title = "Select a Folder"

    If .Show <> -1 Then GoTo NoSel:

    Sheet1.Range("B2").Value = .SelectedItems(1)

End With

NoSel:

End Sub

Sub CreatePDFForms()

Dim PDFTemplateFile, NewPDFName, SavePDFFolder, EIN1, EIN2, Name As String

'Dim ApptDate As Date

Dim CustRow, LastRow As Long

With Sheet1

If .Range("B1").Value = Empty Or .Range("B2").Value = Empty Then

    MsgBox "Both PDF Template and Saved PDF Locations are required for macro to run"

    Exit Sub

End If

LastRow = .Range("D9999").End(xlUp).Row  'Last Row

PDFTemplateFile = .Range("B1").Value 'Template File Name

SavePDFFolder = .Range("B2").Value 'Save PDF Folder

ThisWorkbook.FollowHyperlink PDFTemplateFile

Application.Wait Now + 0.00009


For CustRow = 7 To LastRow

Name = .Range("F" & CustRow).Value ' Name

EIN1 = .Range("D" & CustRow).Value ' EIN1


Application.SendKeys "{Tab}", True

Application.SendKeys EIN1, True


Application.Wait Now + 0.00002


Application.SendKeys "{Tab}", True

Application.SendKeys .Range("E" & CustRow).Value, True 'EIN2

Application.Wait Now + 0.00002

Application.SendKeys "{Tab}", True


Application.SendKeys .Range("F" & CustRow).Value, True 'Name

Application.Wait Now + 0.00002

'Application.SendKeys "{Tab}", True


Application.SendKeys "^+(s)", True

Application.Wait Now + 0.00003

If CustRow = 7 Then

Application.SendKeys "{Tab}", True

End If

Application.SendKeys "{Enter}", True

Application.Wait Now + 0.00003

'Application.SendKeys ("{BACKSPACE}")

'Application.Wait Now + 0.00001

'Application.SendKeys "%(n)", True

'Application.Wait Now + 0.00001

'If Dir(SavePDFFolder & "\" & CustRow & ".pdf") <> Empty Then Kill (SavePDFFolder & "\" & CustRow & ".pdf")

Application.SendKeys ("{BACKSPACE}")

Application.Wait Now + 0.00002

'Application.SendKeys "%(n)", True

'Application.Wait Now + 0.00002

'Application.SendKeys "CustRow" & ".pdf"

Application.SendKeys SavePDFFolder & "\" & CustRow & ".pdf"


Application.Wait Now + 0.00005

Application.SendKeys "%(s)", True

Application.Wait Now + 0.00002

'Name = .Range("F" & CustRow).Value ' Name

'If Dir(SavePDFFolder & "\" & Name & "_" & ".pdf") <> Empty Then Kill (SavePDFFolder & "\" & Name & "_" & ".pdf")

'Application.SendKeys "{Enter}", True

'Application.SendKeys "%(n)", True

'Application.Wait Now + 0.00002

'Application.SendKeys SavePDFFolder & "\" & Name & "_" & ".pdf"

'Application.Wait Now + 0.00002

'Application.SendKeys "%(s)", True

'Application.Wait Now + 0.00002



Next CustRow

Application.SendKeys "^(q)", True
Application.SendKeys "{numlock}%s", True


End With

End Sub
选项显式
子PDFTemplate()
Dim PDFFldr As文件对话框
Set PDFFldr=Application.FileDialog(msoFileDialogFilePicker)
使用PDFFldr
.Title=“选择要附加的PDF文件”
.Filters.Add“PDF类型文件”,“*.PDF”,1
如果.Show-1,则转到NoSelection
表1.范围(“B1”)。值=。选择编辑项(1)
以
选择:
端接头
子SavePDFFolder()
Dim PDFFldr As文件对话框
Set PDFFldr=Application.FileDialog(msoFileDialogFolderPicker)
使用PDFFldr
.Title=“选择一个文件夹”
如果.Show-1,则转到NoSel:
表1.范围(“B2”)。值=。选择编辑项(1)
以
鼻子:
端接头
子CreatePdforms()
Dim PDFTemplateFile、NewPDFName、SavePDF文件夹、EIN1、EIN2、名称为字符串
'Dim ApptDate As Date
第二排,最后一排一样长
附页1
如果.Range(“B1”).Value=空或.Range(“B2”).Value=空,则
MsgBox“运行宏需要PDF模板和保存的PDF位置”
出口接头
如果结束
LastRow=.Range(“D9999”).End(xlUp).Row'最后一行
PDFTemplateFile=.Range(“B1”).Value“模板文件名”
SavePdfolder=.Range(“B2”).Value“保存PDF文件夹”
ThisWorkbook.FollowHyperlink PDFTemplate文件
应用程序。现在等待+0.00009
对于CustRow=7到LastRow
Name=.Range(“F”&CustRow).Value'Name
EIN1=.Range(“D”和CustRow).值“EIN1”
Application.SendKeys“{Tab}”,True
Application.SendKeys EIN1,True
应用程序。现在等待+0.00002
Application.SendKeys“{Tab}”,True
Application.SendKeys.Range(“E”和CustRow).Value,True'EIN2
应用程序。现在等待+0.00002
Application.SendKeys“{Tab}”,True
Application.SendKeys.Range(“F”&CustRow).值,True'名称
应用程序。现在等待+0.00002
'Application.SendKeys“{Tab}”,True
Application.SendKeys“^+(s)”,True
应用程序。现在等待+0.00003
如果CustRow=7,则
Application.SendKeys“{Tab}”,True
如果结束
Application.SendKeys“{Enter}”,True
应用程序。现在等待+0.00003
'Application.SendKeys(“{BACKSPACE}”)
'Application.Wait Now+0.00001
'Application.SendKeys“%(n)”,True
'Application.Wait Now+0.00001
'If Dir(SavePDFFolder&“\”&CustRow&“.pdf”)为空,则Kill(SavePDFFolder&“\”&CustRow&“.pdf”)
Application.SendKeys(“{BACKSPACE}”)
应用程序。现在等待+0.00002
'Application.SendKeys“%(n)”,True
'Application.Wait Now+0.00002
'Application.SendKeys“CustRow”和“.pdf”
Application.SendKeys savePdfolder&“\”&CustRow&“.pdf”
应用程序。现在等待+0.00005
Application.SendKeys“%(s)”,True
应用程序。现在等待+0.00002
'Name=.Range(“F”&CustRow).Value'Name
'如果Dir(SavePDFFolder&“\”&Name&“\”&“.pdf”)为空,则Kill(SavePDFFolder&“\”&Name&“\”&“.pdf”)
'Application.SendKeys“{Enter}”,True
'Application.SendKeys“%(n)”,True
'Application.Wait Now+0.00002
'Application.SendKeys savePdfolder&“\”Name&“\”和“.pdf”
'Application.Wait Now+0.00002
“Application.SendKeys”%(s)”,True
'Application.Wait Now+0.00002
下一个卡斯特罗
Application.SendKeys“^(q)”,True
Application.SendKeys“{numlock}%s”,True
以
端接头