Как сохранить файл SQL с помощью Save Dialog в Excel - PullRequest
2 голосов
/ 07 сентября 2010

Я создаю файл SQL, используя Application.Path & SQL_statements. После этого я записываю операторы SQL в этот файл с помощью vba. Теперь я хочу сохранить файл после того, как все операторы SQL сгенерированы в другом каталоге. Этот каталог зависитна пользователя. Поэтому я хочу дать ему диалоговое окно «Сохранить как».

Таким образом, мне нужно сохранить файл, который я создал с помощью vba, и сохранить его, используя диалоговое окно «Сохранить как», в месте, указанном пользователем, иудалить копию созданного мной файла.

1 Ответ

3 голосов
/ 07 сентября 2010

Я думаю, что вы хотите 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, а другой - по выбору пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...