用于保存excel文件的运行时错误1004(需要VBA)

问题描述:

我想知道是否有人知道如何使用保存在excel中打开的.txt文件?用于保存excel文件的运行时错误1004(需要VBA)

我试过用UserForm编写代码,但它给了我错误。

我想知道是否有可能让用户选择将它保存在他/她最喜欢的地方,还有他/她最喜欢的名字?

Public Sub CommandButton1_Click() 
Dim YesOrNoAnswerToMessageBox As String 
Dim QuestionToMessageBox As String 
Dim CurrentFile As String 

QuestionToMessageBox = "Do you want to save?" 

YesOrNoAnswerToMessageBox = MsgBox(QuestionToMessageBox, vbYesNo, "Save file") 

If YesOrNoAnswerToMessageBox = vbNo Then 
    Unload Me 'Cancellation command 
Else 
CurrentFile = ThisWorkbook.FullName 
ActiveWorkbook.SaveAs "C:\myfile.xls", FileFormat:=52 
Workbooks.Open CurrentFile 
End If 
End Sub 
+0

'MsgBox'返回一个Long,但是您将它强制转换为一个String。然后你将它强制回到一个Long中,以便将它与Long常量'vbNo'进行比较。通过将其声明为“Dim YesOrNoAnswerToMessageBox As Long”来避免这种来回投射会更清晰。 – 2012-03-19 08:51:03

这个错误是因为你的文件扩展名(XLS)不符合您的文件类型(OpenXMLWorkbookMacroEnabled)。你需要xlsm扩展名。

Sub Command1Click() 

    Dim lResp As Long 
    Dim sCurrFile As String 
    Dim sNewFile As String 

    Const sPROMPT As String = "Do you want to save?" 
    Const sFILTER As String = "*.xlsm, *.xlsm" 

    lResp = MsgBox(sPROMPT, vbYesNo, "Save File") 

    If lResp = vbYes Then 
     sCurrFile = ActiveWorkbook.FullName 'save current file name 
     sNewFile = Application.GetSaveAsFilename(, sFILTER) 'get new file name 
     If sNewFile <> "False" Then 'user didn't cancel 
      ActiveWorkbook.SaveAs sNewFile, xlOpenXMLWorkbookMacroEnabled 
      ActiveWorkbook.Close False 'close new file 
      Workbooks.Open sCurrFile 'open previous text file 
     End If 
    Else 
     Unload Me 
    End If 

End Sub 
+0

嗨!非常感谢你的帮助!感谢! – user1204868 2012-03-18 04:04:40

我不确定您为什么使用Workbooks.Open后ActiveWorkbook.SaveAs打开。如果工作簿已经打开,这不是没有必要吗?

无论如何,以提示保存位置的用户尝试修改下面根据您的需要:

Sub DoooooooooooooooooooIt() 

    Dim fd As FileDialog 

    Set fd = Application.FileDialog(msoFileDialogSaveAs) 

    With fd 
     .Show 
     If .SelectedItems.Count > 0 Then 
      Debug.Print .SelectedItems(1) 
     End If 
    End With 

End Sub 
+0

是的..你是对的..我想我犯了一个错误的线..无论如何非常感谢你的帮助!欣赏它! – user1204868 2012-03-18 04:05:35