导出不带VBA按钮的excel文件

gcuhipw9  于 2023-02-05  发布在  其他
关注(0)|答案(3)|浏览(169)

我有一个Excel文件,我需要导出没有VBA按钮。每次我导出为Xlsm文件,宏和按钮也导出。
我想导出excel文件作为我的最终报告。但是,每次我导出它时,按钮和宏也会导出。

hpxqektj

hpxqektj1#

我假设你在这里导出到PDF,因为@TimWilliams已经涵盖了“导出为Excel文件”的路线。
如果尝试导出此报告:

你可以看到它仍然保留我的导出按钮。
如果我将按钮设置为“不打印”:

当我尝试导出时:

按钮不包括在导出中。

pvabu6sv

pvabu6sv2#

如果要在删除之前删除报表上的所有控件按钮,可以使用以下Sub:

Option Explicit
Sub Main()
    
    ' Example Sub to demonstrate usage

    Dim ReportWS As Worksheet
    Dim ShapeToKeep As String
    
    Set ReportWS = Worksheets("Report")
    ShapeToKeep = "Ctrl2"
    
    DeleteControls ReportWS, ShapeToKeep

    'Export Workbook
    
End Sub
Sub DeleteControls(WS As Worksheet, Optional Keep As String)
    
    ' Delete all shapes (except excluded) on sheet 

    Dim Shp As Shape
    
    For Each Shp In WS.Shapes
        If Not IsMissing(Keep) Then
            If Shp.Name <> Keep Then
                Shp.Delete
            End If
        Else
            Shp.Delete
        End If
    Next Shp
    
End Sub

这包括按名称保留特定图形的选项。
如果要排除多个形状,请将"保留"更改为字典。
这是特定于"形状"的,您可以更改它以删除其他对象。
示例:

    • 之前:**

    • 之后:**(可选排除形状)

    • 之后:**(无排除形状)
6rvt4ljy

6rvt4ljy3#

谢谢,我结束了使用下面的代码,它工作。
子删除所有形状()

ActiveSheet.Shapes.SelectAll

Selection.Delete

保存名称=应用程序.获取另存为文件名(文件筛选器:=“Excel文件(.xlsx),.xlsx”)活动工作簿.另存为文件名:=保存名称,文件格式:=51结束子文件

相关问题