下面是我的代码,用于保存不带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
答案 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