首页 > 解决方案 > Excel - 保存按钮

问题描述

我在excel中制作了发票系统。有用作发票编号的客户名称和 ID。其他细节也在那里。我在 excel 中添加了一个保存按钮,以使用以下 vb 保存我的工作表:

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\PDF\Export.pdf", _
            OpenAfterPublish:=False
    Application.ScreenUpdating = True
End Sub

现在,它只是以“导出”名称保存。所以每次我保存它都会有相同的名称。但我希望保存按钮允许我在保存工作表之前命名工作表。或者,有什么办法可以让我保存的 pdf 的名称按照两个单元格的值依次排列?我还希望在单击此“保存”按钮时打开保存的 pdf。

是否无法按顺序从三个不同的单元格中检索文件名。J5&J6 为发票号码,K5&K6 客户名称和 L8 为状态?如果同一个按钮也将某些单元格值保存在另一个工作表中,是否不可能?

标签: excelvbabuttonsave

解决方案


使用我的文件夹结构:

Private Sub CommandButton1_Click()
    Dim fname As String
    
    fname = Application.InputBox(Prompt:="Enter File Name", Type:=2)
    
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\TestFolder\" & fname & ".pdf", _
            OpenAfterPublish:=True
    Application.ScreenUpdating = True
End Sub

你自然会TestFolder改成PDF.

编辑#1:

单元格内容如下:

在此处输入图像描述

此更新的代码:

Private Sub CommandButton1_Click()
    Dim fname As String, s As String
    
    s = " "
    fname = [J5] & [J6] & s & [K5] & s & [K6] & s & [L8]
    
    Application.ScreenUpdating = False
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:="C:\TestFolder\" & fname & ".pdf", _
            OpenAfterPublish:=True
    Application.ScreenUpdating = True
End Sub

将生成一个文件名PN123-697 James Ravenswood Shipped和文件类型为.pdf.


推荐阅读