При попытке запустить ниже я получаю следующую ошибку:
"Это расширение нельзя использовать с выбранный тип файла. Изменить расширение файла в тексте имени файла или выберите другой тип файла изменить тип сохранения. "
Код:
Dim strPath As String Dim strFolderPath As String strFolderPath = "Y:\ strPath = strFolderPath & _ Sheet1.Range("A1").Value & _ Sheet1.Range("B1").Value & ".xlsx" ActiveWorkbook.SaveAs Filename:=strPath
Ошибка означает, что ActiveWorkbook пытается сохранить файл в другом формате, чем «.xlsx».Чтобы принудительно сохранить его как .xlsx, вы также должны передать формат файла.
ActiveWorkbook.SaveAs Filename:=strPath, FileFormat:=xlOpenXMLWorkbook
У меня была такая же проблема, когда я пытался преобразовать книгу с поддержкой макросов (xlsm) в обычную книгу (xlsx)!В конце концов я отказался от использования метода ActiveWorkbook.SaveAs и вместо этого использовал следующий код:
ActiveWorkbook.SaveAs
' Code from http://www.mrexcel.com/forum/excel-questions/516366-saving-xlsm-file-xlsx-using-visual-basic-applications.html#post4478019 sub saveAsXlsx Dim mySheetList() As String ReDim mySheetList(0 To (ThisWorkbook.Sheets.Count) - 1) Dim a As Integer a = 0 For Each ws In ActiveWorkbook.Worksheets mySheetList(a) = ws.Name a = a + 1 Next ws 'actually save Worksheets(mySheetList).Copy ActiveWorkbook.SaveAs fileName:=flenme 'default ext
Код изначально был здесь .