保存没有宏的 Excel 文件。 Excel VBA代码

Posted

技术标签:

【中文标题】保存没有宏的 Excel 文件。 Excel VBA代码【英文标题】:Save an Excel-File without Macros. Excel VBA Code 【发布时间】:2018-08-13 12:19:21 【问题描述】:

我创建了一个带有宏的 Excel 文档,我的客户应按下按钮填写该宏。

按钮下面就是这个宏:

Sub filesave()
    Dim bFileSaveAs As Boolean
    bFileSaveAs = Application.Dialogs(xlDialogSaveAs).Show
End Sub

问题在于,作为默认选项,您可以将文档另存为启用宏的 Excel 工作簿。

如何显示为默认未启用宏的 Excel 格式或不显示将文档另存为启用宏的文档的可能性,以确保宏不会保存在已填写的文档副本中?

关于代码外观的一些想法?

【问题讨论】:

您所要做的就是另存为 .xlsx 【参考方案1】:

您可以使用GetSaveAsFilename 让用户选择位置和文件名,然后通过从XlFileFormat Enumeration 中选择文件格式以Workbook.SaveAs Method 保存。

Public Sub SaveFileAs()
    Dim FileToSave As Variant
    FileToSave = Application.GetSaveAsFilename(fileFilter:="xlsx Files (*.xlsx), *.xlsx")

    If FileToSave <> False Then
        ActiveWorkbook.SaveAs Filename:=FileToSave, FileFormat:=xlOpenXMLWorkbook
    Else
        'user chose cancel
    End If
End Sub

【讨论】:

如何不询问用户,只需将.xlsm转换为.xlsx,然后删除.xlsm @lalebarde 您需要的一切都在这个答案和链接的文档中。你试过什么了?可能最好根据How to Ask 提出一个新问题,并说明您遇到的问题或错误。

以上是关于保存没有宏的 Excel 文件。 Excel VBA代码的主要内容,如果未能解决你的问题,请参考以下文章

Excel 保存文件出现 您试图打开的文件类型(Excel 2007和更高版本的启用宏的工作簿和模板)被信任中心的文件阻止设置阻止

使用 VBA 将包含 Excel 文件 (.xlsm) 的宏保存为不包含宏的文件 (.xlsx) 时抑制对话框

当关闭文档是excel vba为啥宏代码自动消失

vb 如何将函数数据保存为excel文件 函数是y=a*x^2+b*x+c , x取整数

如何使用 vb.net 保存 excel 文件?

vb.NET SaveAs 不保存所有 Excel 数据