автоматическое увеличение серийного номера в документе при множестве экземпляров

Автор Посетитель 04.08.2023, 04 августа 2023, 10:04

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

Дальше нужно сделать, чтобы после запуска макроса появлялся диалог для выбора папки или файлов.
Пользователь выбирает папку или файлы, макрос открывает каждый файл, делает замену (вместе ~метка~ пишите нужный текст), отправляет его на печать и закрывает файл без сохранения.

Посетитель 04.08.2023

Т.е. создаю макрос.
Вид - > макросы - > Макросы меню, задаю ему имя - > открывается консоль разработчика. Что мне туда писать?


У меня кстати была проблема - задаешь имя макроса , оно в формате
Sub Имя_макроса ()
End Sub

но когда вставлял код, как бы имя макроса это же название его функции \ команда, да? например есть команда

Sub AutoOpen()
End Sub

и получалось в итоге с моим название: 

Sub Имя_макроса ()
Sub AutoOpen()
End Sub
End Sub

так же ведь не должно быть?

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

Цитата:
Sub Имя_макроса ()
Sub AutoOpen()
End Sub
End Sub

так же ведь не должно быть?

Да, так не должно быть. Внутри процедуры не может быть другой процедуры.

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

Цитата:
Вид - > макросы - > Макросы меню, задаю ему имя - > открывается консоль разработчика. Что мне туда писать?

Макрос начинается с того, что пишите такой код:
Sub Макрос()
   
End Sub

И затем внутрь пишите код:
Sub Макрос()
    Сюда пишите код.
End Sub

Посетитель 04.08.2023

да, я так и подумал.
и какой код будет?
нашел вот такой c использованием закладок:

Sub AutoOpen()
Dim bm As Bookmark
Dim i As Long
Set bm = ActiveDocument.Bookmarks("num")
i = Val(bm.Range.Text)
bm.Range.Select
With Selection
   .Text = i + 1
   .Bookmarks.Add Name:="num"
   .Collapse wdCollapseEnd
End With
Set bm = Nothing
End Sub

его можно адаптировать под то что нужно мне? например сделать чтобы номер писался не 1, а 001

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

AutoOpen вам не нужен. Пользователь щёлкает кнопку, выбирает папку или файлы.
Нужно с этого начать.
Почему вы решили использовать AutoOpen?

Посетитель 04.08.2023


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

AutoOpen используется, чтобы автоматически запускать макрос (без участия пользователя) после открытия файла. Для вашей задачи нет такой необходимости, т.к. пользователь будет щёлкать кнопку.

Посетитель 04.08.2023


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

Вам нужно найти в Гугле:
как отобразить диалог для выбора папки или файлов (что вам удобнее);
как пройтись по всем файлам в выбранной папке или по всем выбранным файлам;
как открыть документ, как закрыть документ.

И потом останется сделать замену меток.