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



下面是我在不使用VBA代码的情况下保存文件的代码。

它与VBA代码一起保存。

Sheets.Select
Cells.Copy
Cells.PasteSpecial xlPasteValues
Application.DisplayAlerts = False
ThisWorkbook.SaveAs "C:UserssgffaDesktopProfile_MacrosNEW" & NFolder & "" & "C", 
FileFormat:=xlExcel8
Application.DisplayAlerts = True
Next x
End Sub

将项目保存为xlsx而不是xlsm,则代码应保存为

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

Sheets.Copy
Sheets.Select
Cells.Copy
Cells.PasteSpecial xlPasteValues
Application.CutCopyMode = False
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs "C:UserssgffaDesktopProfile_MacrosNEW" & NFolder & "" & "C.xlsx"
Application.DisplayAlerts = True
.Close True
End With

来自

ThisWorkbook.SaveAs "C:UserssgffaDesktopProfile_MacrosNEW" & NFolder & "" & "C", FileFormat:=xlExcel8

到此:

ThisWorkbook.SaveAs "C:UserssgffaDesktopProfile_MacrosNEW" & NFolder & "" & "C" & ".xlsx", FileFormat:=xlOpenXMLWorkbook

另存为困惑

我也很困惑。碰巧的是,当您将启用宏的工作簿(.xlsm(保存为未启用宏的工作薄(.xlsx(时,工作簿会保持打开状态,其中仍有代码。但好的是,它保存时没有代码。你现在可以保存它,"手动"保存为它,下次打开它时它仍然没有代码(宏(。

代码应演示以下内容:

  • 最好从Option Explicit开始,这将有所帮助当出现问题时提醒你
  • 在代码的开头使用常量是一种很好的做法,尤其是对于如此长的文件路径,因此当您必须更改它们时你可以很容易地找到它们
  • 当您禁用某个事件时,您可能无法如果你不小心,可以再次启用它。如果发生错误,您应该重定向再次启用这些事件的代码
  • 如果要关闭工作簿,请使用行ThisWorkbook.Close
Option Explicit
Sub SaveMacroDisabled()
Const strPath = "I:ExcelMyDocumentsTestTest4"
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

相关内容

最新更新