2010-09-07 91 views
2

我正在使用Application.Path創建SQL文件& SQL_statements.After我通過vba.Now將SQL語句寫入此文件我想保存所有SQL後的文件語句生成在不同的目錄中。該目錄取決於用戶。因此,我想給他一個另存爲對話框。因此,我需要保存通過vba創建的文件,並使用另存爲對話框將其保存爲用戶指定的位置,並刪除由我創建的文件的副本。如何在Excel中使用保存對話框保存SQL文件

回答

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和一個在用戶選擇。

+0

如何保存我的文件。我是vba的新手。不知道很多東西可能是普通的 – gizgok 2010-09-07 18:44:09

+0

它是什麼類型的文件? Excel文件?文本文件?你是如何創建它的? – 2010-09-07 19:00:11

+0

這是textfile,我是這樣創建的。 – gizgok 2010-09-07 19:13:46

相關問題