Ошибка выполнения 1004 - PullRequest
       8

Ошибка выполнения 1004

1 голос
/ 08 июля 2011

При попытке запустить ниже я получаю следующую ошибку:

"Это расширение нельзя использовать с выбранный тип файла. Изменить расширение файла в тексте имени файла или выберите другой тип файла изменить тип сохранения. "

Код:

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

Ответы [ 2 ]

8 голосов
/ 13 января 2012

Ошибка означает, что ActiveWorkbook пытается сохранить файл в другом формате, чем «.xlsx».Чтобы принудительно сохранить его как .xlsx, вы также должны передать формат файла.

ActiveWorkbook.SaveAs Filename:=strPath, FileFormat:=xlOpenXMLWorkbook
0 голосов
/ 06 апреля 2016

У меня была такая же проблема, когда я пытался преобразовать книгу с поддержкой макросов (xlsm) в обычную книгу (xlsx)!В конце концов я отказался от использования метода 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

Код изначально был здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...