2017-01-18 27 views
0

Я пытаюсь создать макрос, который принимает текст, сгенерированный на листе & сохраняет его в текстовый файл. При запуске пользователю предлагается сохранить текст в файл с помощью диалогового окна «Сохранить как». Проблема в том, что если пользователь выбирает другое место, кроме папки с папками по умолчанию, оно фактически не сохраняется. Если макрос запускается второй раз, но перед закрытием рабочей книги он работает. Я должен был использовать На странице «Ошибка повторения», чтобы предотвратить окно с ошибкой, когда пользователь отменяет флажок «Сохранить как», но если я прокомментирую это, ошибка при попытке сохранить в месте расположения не-моих документов: ошибка 53 файл не найден. Кто-нибудь знает, что здесь происходит или как это исправить? Проверьте мой код ниже для простой иллюстрации ошибки:Сохранить как поле для Excel сгенерированных текстовых файлов

Sub saveFileAs() 
Dim textFile, printText As String 

textFile = "filename.txt" 'won't work without declaring something for textFile 

printText = ActiveSheet.Range("A1").Value 

Open textFile For Output As #1 
    Print #1, printText 

Close #1 


On Error Resume Next 

Name textFile As Application.GetSaveAsFilename(, filefilter:="TXT (*.txt),*.txt") 

End Sub 

ответ

0

Выполнение этого сработало для меня, никаких ошибок.

Sub testing() 
Dim TextFile As String, PrintText As String 
Dim SaveName As Variant 

TextFile = "filename.txt" 
PrintText = ActiveSheet.Range("A1").Value 

Open TextFile For Output As #1 
    Print #1, PrintText 

Close #1 

SaveName = Application.GetSaveAsFilename(, filefilter:="TXT (*.txt),*.txt") 
If SaveName <> False Then Name TextFile As SaveName 

End Sub 
+0

Это работает, если вы выбираете рабочий стол или документы в качестве адресата сохранения, но попытка сохранить в любую другую папку приводит к ошибке «файл не найден» в инструкции «Имя TextFile As SaveName». Любая идея, почему это происходит? – Bruce