如何在没有Excel VBA代码的情况下保存文件?

时间:2020-03-30 05:19:46

标签: excel vba

下面是我的代码,用于保存不带VBA代码的文件。

它与VBA代码一起保存。

Sheets.Select
Cells.Copy
Cells.PasteSpecial xlPasteValues
Application.DisplayAlerts = False
ThisWorkbook.SaveAs "C:\Users\sgffa\Desktop\Profile_Macros\NEW\" & NFolder & "\" & "C", 
FileFormat:=xlExcel8
Application.DisplayAlerts = True
Next x
End Sub

4 个答案:

答案 0 :(得分:0)

将您的项目另存为xlsx而不是xlsm,然后应保存该代码

答案 1 :(得分:0)

您可以先在新工作簿中复制表格,然后将其保存

PUBLIC

答案 2 :(得分:0)

来自

 ThisWorkbook.SaveAs "C:\Users\sgffa\Desktop\Profile_Macros\NEW\" & NFolder & "\" & "C", FileFormat:=xlExcel8

对此:

ThisWorkbook.SaveAs "C:\Users\sgffa\Desktop\Profile_Macros\NEW\" & NFolder & "\" & "C" & ".xlsx", FileFormat:=xlOpenXMLWorkbook

答案 3 :(得分:0)

另存为混淆

我也很困惑。碰巧的是,当您将启用宏的工作簿(.xlsm)保存为未启用宏的工作簿(.xlsx)时,该工作簿将保持打开状态,同时仍在其中包含代码。但是,好处是无需代码即可保存它。您现在可以保存它,“手动”保存为它,下次打开它时仍然没有代码(宏)。

代码应演示以下内容:

  • Option Explicit开始是个好习惯,这会有所帮助 通过在出现问题时提醒您。
  • 优良作法是在代码开头使用常量, 特别是对于这么长的文件路径,因此当您必须更改它们时 您可以轻松找到它们。
  • 禁用事件后,有可能您将无法 如果您不小心,请再次启用它。如果发生错误,您应该重定向 重新启用这些事件的代码。
  • 如果要关闭工作簿,请使用行ThisWorkbook.Close
Option Explicit

Sub SaveMacroDisabled()

    Const strPath = "I:\Excel\MyDocuments\Test\Test4\"
    Const strXLSX = "BookMacroDisabled"

    On Error GoTo ProgramError

    Application.DisplayAlerts = False

        ThisWorkbook.SaveAs strXLSX, _
          FileFormat:=xlWorkbookDefault

SafeExit:

    Application.DisplayAlerts = True

    ' ThisWorkbook.Close

Exit Sub

ProgramError:

    MsgBox "An unexpected error occurred"
    On Error GoTo 0
    GoTo SafeExit

End Sub