簡體   English   中英

運行時錯誤 1004

[英]Run time error 1004

嘗試運行以下內容時,出現以下錯誤:

“此擴展名不能與所選文件類型一起使用。通過更改另存為類型更改文件名文本框中的文件擴展名或 select 不同的文件類型。”

代碼:

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方法並改用以下代碼:

' 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

代碼最初來自這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM