如何使用Excel中的“保存对话框”保存SQL文件

时间:2010-09-07 16:05:00

标签: excel vba

我正在使用Application.Path&创建一个SQL文件。 SQL_statements.A之后我通过vba.Iow将SQL语句编写到这个文件中。我想在另一个目录中生成所有SQL语句后保存文件。这个目录取决于user.Hence我想给他一个Save as Dialog。

因此,我需要保存通过vba创建的文件,并在用户指定的位置使用另存为对话框保存,并删除由我创建的文件副本。

1 个答案:

答案 0 :(得分:3)

我认为你想要Application.GetSaveAsFilename。这是一个例子。

Sub Test()

    Dim sFile As String
    Dim lFile As Long
    Dim sSql As String

    sFile = Application.GetSaveAsFilename(, "*.txt,*.txt", , "Save SQL File")

    If sFile <> "False" Then
        sSql = "Select * from abc"
        lFile = FreeFile
        Open sFile For Append As lFile
        Print #lFile, sSql
        Close lFile
    End If

End Sub

sFile将是一个完整路径和名称的字符串。我不知道“SQL文件”是什么,所以我猜这是一个带有sql扩展名的文件。如果用户在对话框中单击“取消”,则sFile将为“False”。

在创建文件后复制文件

Sub TestCopy()

    Dim sNewFile As String, sOldFile As String
    Dim lFile As Long
    Dim sSql As String

    sNewFile = Application.GetSaveAsFilename(, "*.txt,*.txt", , "Save SQL File")

    If sNewFile <> "False" Then
        sSql = "Select * from abc"
        sOldFile = "C:\Book1.txt"
        lFile = FreeFile
        Open sOldFile For Append As lFile
        Print #lFile, sSql
        Close lFile
        FileCopy sOldFile, sNewFile
    End If

End Sub

你最终会得到两个文件 - 一个在C:\ Book1.txt,另一个在用户选择的文件中。