2015-07-17 2 views
0

Я работал над несколькими пользовательскими формами и имею команду написать результирующую строку в текстовый файл. Однако проблема, с которой я сталкиваюсь, - это тот, где у меня есть жестко закодированная командная оболочка, которая мне нужна для работы на любом компьютере.Команда оболочки: найдите приложение и откройте файл на любом компьютере?

myFile = "C:\Reformatted.txt" 
Open myFile For Output As #1 

Print #1, UserEntry 'Write string to the file. 
Close #1 

Shell "C:\Windows\Notepad.exe C:\Reformatted.txt", 1 'Opens up the text file. 

Вопрос здесь, как вы можете видеть, что в то время как каждый компьютер (все окна) будут иметь записную книжку, они не будут в том же FilePath. Кроме того, различные компьютеры и пользователи захотят сохранить их в разных папках.

Я хочу использовать это:

Application.GetSaveAsFilename 

Как я могу сделать это, чтобы записать в текстовый файл?

Любые советы?

+0

Может быть, посмотрите здесь: http://stackoverflow.com/questions/18921168/how-can-excel-vba-open-file-using-default-application Вы можете выложить сам файл, и разрешить его открыть в своем приложении «по умолчанию». –

ответ

0
Sub Tester() 

    Dim myFile 

    myFile = "C:\_Stuff\temp.txt" 

    Open myFile For Output As #1 
    Print #1, "Hello" 'Write string to the file. 
    Close #1 

    CreateObject("Shell.Application").Open myFile 

End Sub 
Смежные вопросы