繁体   English   中英

打开另一个现有的 Excel 文件 - 添加数据然后重新保存然后另存为 PDF

[英]Open Another Existing Excel File -Add data then resave then saveas PDF

所以我有一个 VBA 项目,我想要做的是从我的用户表单中打开一个现有文件(待定数据输入)。 添加从我的用户表单收集的数据,打开添加新数据,然后保存,然后另存为 PDF。 这就是我想出的,我不想看到 excel,因为两个 excel 都应该隐藏,我只想看到我的表格

Sub OpenDocument4()
Dim wsh As Worksheet
Dim wb As Workbook
Dim wb1 As Workbook
Set wb1 = ActiveWorkbook
Dim i As Long
Dim lngEndRowInv As Long
Dim FileName1, FileName2 As String
Dim var1
Dim var2
Dim var3
var1 = frmsetup.tbIssuesRear60.Caption
var2 = frmsetup.tbActionsRear60.Caption
var3 = frmsetup.tbOwnerRear60.Caption
Application.Visible = False
Application.ScreenUpdating = False
FileName2 = "C:\MiltonAuditAppsCenter\SEAT AUDIT\TEMP DOCUMENTS\" & "SEQ-" &           frmsetup.lblsequence.Caption & " " & frmsetup.lbldate.Caption & ".xlsm"
FileName1 = "SEQ-" & frmsetup.lblsequence.Caption & " " & frmsetup.lbldate.Caption & ".pdf"

Set wb = Workbooks.Open(FileName2)
Set wsh = wb.Worksheets("ACTIONS")
Worksheets("ACTIONS").Range("E20").Value = var1
Worksheets("ACTIONS").Range("E22").Value = var2
Worksheets("ACTIONS").Range("J21").Value = var3
Application.Visible = False
Application.ScreenUpdating = False
With Sheets(Array("END RESULTS", "DRIVER SEAT", "PASSENGER SEAT", "40% SEAT", "60% SEAT", "RSC SEAT", "ACTIONS")).Select
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
     FileName:="H:\APPLICATIONS\SEAT AUDIT\QUERY RESULTS\SEAT AUDIT - PDF\" & FileName1, _
     Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False,     OpenAfterPublish:=False
End With
wb.Close savechanges:=False

End Sub

这看起来应该可以工作,但是明确处理您的Workbook对象可能不会有什么坏处,而且,由于您已经将Worksheets("ACTIONS") ACTIONS Worksheets("ACTIONS")分配给了wsh变量,您应该使用它来代替硬编码Worksheets("ACTIONS").Range(...).Value赋值。

Sub OpenDocument1()
Dim wsh As Worksheet
Dim wb as Workbook      '## The workbook you want to open
Dim i As Long
Dim lngEndRowInv As Long
Dim FileName As String
Application.Visible = False
Application.ScreenUpdating = False
FileName = "C:\MiltonAuditAppsCenter\SEAT AUDIT\TEMP DOCUMENTS\" & "SEQ-" & frmsetup.lblsequence.Caption & " " & frmsetup.lbldate.Caption & ".xlsm"
Set wb = Workbooks.Open(FileName)
Set wsh = wb.Worksheets("ACTIONS")
wsh.Range("E20").Value = frmReviewPDFPending.tbIssuesRear60.Text
wsh.Range("E22").Value = frmReviewPDFPending.tbActionsRear60.Text
wsh.Range("J21").Value = frmReviewPDFPending.tbOwnerRear60.Text
wb.Sheets(Array("END RESULTS", "DRIVER SEAT", "PASSENGER SEAT", "40% SEAT", "60% SEAT", "RSC SEAT", "ACTIONS")).ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    "H:\APPLICATIONS\SEAT AUDIT\QUERY RESULTS\SEAT AUDIT - PDF\" & FileName1, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False
wb.Close savechanges:=True
Application.Visible = True
Application.ScreenUpdating = True
End Sub

注意:如果您在使用ExportAsFixedFormat遇到问题,只需恢复到您的原始方法:

 With Sheets(Array("END RESULTS", "DRIVER SEAT", "PASSENGER SEAT", "40% SEAT", "60% SEAT", "RSC SEAT", "ACTIONS")).Select
     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
         FileName:= "H:\APPLICATIONS\SEAT AUDIT\QUERY RESULTS\SEAT AUDIT - PDF\" & FileName1, _
         Quality:=xlQualityStandard, _
         IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= False
 End With

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM