2011-07-08 60 views
1

以下、私は次のエラーを取得する実行しようとすると:実行時エラー1004

"This extension can not be used with the selected file type. Change the file extension in the file name text box or select a different file type by changing the save as type."

コード:エラーがActiveWorkbookが異なるファイル形式として保存しようとしていることを意味

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 
+0

はい、excel 2007 – john

+5

ActiveWorkbookにマクロが含まれている場合は、 "xlsm"拡張子とFileFormat:= XlFileFormat.xlOpenXMLWorkbookMacroEnabled引数を使用して名前を変更する必要があります。 –

答えて

5

次に ".xlsx"。 .xlsxとして強制的に保存するには、fileformatも渡す必要があります。

ActiveWorkbook.SaveAs Filename:=strPath, FileFormat:=xlOpenXMLWorkbook 
0

私は通常のブック(のxlsx)にマクロ有効ブック(XLSM)を変換しようとしていたとき、私は同じ問題を抱えていました!私は最終的に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 

コードがhere出身です。

関連する問題