Уведомление об ответе (письмо, email) может попасть в папку "Спам". На Яндексе (или в другой почтовой системе) пометьте полученное письмо "Не спам", чтобы остальные письма не попадали в папку "Спам". Или, если вы используете почтовую программу (а не браузер), то разрешите спаму попадать в папку "Входящие" (в этом случае в теме письма будет текст [OBORONA-SPAM]).

Создать диалог SaveAs по маске

Автор Посетитель, 21 мая 2023, 12:23

Посетитель

Подскажите, в коде будет генерироваться путь сохранения и название файла *.doc, нужно открыть по сгенерированной маске диалог SavcAs, доя того, чтобы пользователь либо принял рекомендованный путь и название, либо изменил на свое.

Администратор

Написал вам два письма на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.

Отобразить диалог "Сохранить как" и подставить в него путь и имя файла можно так. При этом путь должен существовать, чтобы он отобразился в этом диалоге. Если путь не существует, то Ворд отобразит другую папку.

Макрос
Sub Макрос()

    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Сохранить как"
        .InitialFileName = "C:\Users\User\Desktop\Новая папка\Файл.docx"
        If .Show = False Then
            Exit Sub
        End If
    End With

End Sub
[свернуть]

После вызова диалога есть два варианта.

Вариант 1. Сохранение файла, используя диалог "Сохранить как"

В этом варианте нужно использовать метод Execute.

Макрос
Sub Макрос()

    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Сохранить как"
        .InitialFileName = "C:\Users\User\Desktop\Новая папка\Файл.docx"
        If .Show = False Then
            Exit Sub
        End If
        .Execute
    End With

End Sub
[свернуть]

Вариант 2. Сохранение файла с использованием Document.SaveAs

С помощью диалога "Сохранить как" можно записать в переменную полное имя файла, которое указал пользователь в диалоге "Сохранить как". Затем можно с помощью макроса сделать анализ этого полного имени файла и принять решение: сохранять файл или нет.

Макрос
Sub Макрос()

    Dim Fn As String

    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Сохранить как"
        .InitialFileName = "C:\Users\User\Desktop\Новая папка\Файл.docx"
        If .Show = False Then
            Exit Sub
        End If
        Fn = .SelectedItems(1)
    End With
   
    ActiveDocument.SaveAs FileName:=Fn, FileFormat:=wdFormatXMLDocument

End Sub
[свернуть]



Посетитель

Огромное спасибо, очень помогли!