powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / счетчик печати
7 сообщений из 7, страница 1 из 1
счетчик печати
    #37008758
Задача такая: есть документ word, в нем есть поле номер, надо чтобы это поле увеличивалось при печати. как реализовать такой счетчик средствами vba?
...
Рейтинг: 0 / 0
счетчик печати
    #37008768
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артём не местный, после печати, результат поля +1
Из этой области
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
'добавить в месте нахождения курсора поле ввода
Selection.FormFields.Add Range:=Selection.Range, Type:=wdFieldFormTextInput
With ActiveDocument.FormFields( 1 ) 'соответствует нажатию правой кнопки на поле и открытию формы Свойства поля
.Name = "MyDateField" 'поле Закладка
.EntryMacro = "" 'поле Выполнить макрос при входе, где указывается имя нужного макроса
.ExitMacro = "" 'поле Выполнить макрос при выходе, где указывается имя нужного макроса
.Enabled = False 'включено ???? что
.OwnHelp = False '????
.HelpText = "" 'кнопка Текст справки
.OwnStatus = False '????
.StatusText = "" '?????
With .TextInput
'Type - поле Тип
'0 - Обычный текст
'1 - Число
'2 - wdDateText, то есть Дата
'3 - Текущая дата
'4 - Текущее время
'5 - Вычесление
'Default - поле Дата по умолчанию
'Format - поле Формат даты
.EditType Type:=wdDateText, Default:="11.01.2010", Format:="DD.MM.YYYY"
.Width =  1  'поле Максимальная длина, то есть ширина поля, имеет ограничение 256 символов
End With
End With
ActiveDocument.FormFields( 1 ).Update 'автообновления поля ... после вставки данных в поля формы поля
Результат_поля = ActiveDocument.FormFields( 1 ).Result
...
Рейтинг: 0 / 0
счетчик печати
    #37008776
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл сказать предыдущий пост это если печатаешь текст проой, а если обычным способом
тогда есть поле Print, PrintDate
...
Рейтинг: 0 / 0
счетчик печати
    #37008885
Ципихович Эндрю,

печатать надо из Word, обычным способом, у поля print всего 5 параметров: \p cell, \p row, \p pic, \p para, \p page. а что касается поля PrintDate, то мне же дата не нужна.

может непонятно написал. Нужно печатать акты выполненных работ, чтобы не нумеровать вручную, нужно присваивать номер автоматически, и чтобы после печати одного экземпляра акта номер увеличивался на 1, и при закрытии документа последнее значение сохранялось

я думаю можно сделать надпись, и менять её свойство "Caption" согласно значению переменной, а значение переменной как то изменять при печати и сохранять. Просто в VBA не силен, пока разбираюсь
...
Рейтинг: 0 / 0
счетчик печати
    #37008902
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артём не местный,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub Глобальная_переменная()

If Not ExistVar("Счётчик") Then 'запускаем проверку на наличие переменной "Счётчик" в документе
ActiveDocument.Variables.Add "Счётчик",  0  'если переменной нет, значит создаем её, присваиваем ей значение …
ActiveDocument.Save 'сохранение документа, чтобы пользователь не смог закрыть документ не сохраняя создания счётчика
Else
ActiveDocument.Variables("Счётчик").Value = ActiveDocument.Variables("Счётчик").Value +  1  'если переменная уже существует, то увеличиваем её значение на 1
ActiveDocument.Save 'сохраняем документ сразу после увеличения счётчика, чтобы пользователь не смог закрыть документ не сохраняя изменённое значение счётчика
End If
Количество = ActiveDocument.Variables("Счётчик").Value 'после создания переменной значение Количество = 0

End Sub
...
Рейтинг: 0 / 0
счетчик печати
    #37009066
Ципихович Эндрю,
спасибо, работает, если запускать вручную или по кнопке, а как настроить чтобы выполнялось при печати?
...
Рейтинг: 0 / 0
счетчик печати
    #37009077
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артём не местный, а что Вас не устраивает
создаём макросы например 3 штуки
смысл их таков
сначала юзер выделил текст
запускает один из трёх макросов
печать выделенного текста 1 или 2 или 3 копии
А заускаются они соответственно по например Контро +1, +2, +3
Вот тогда и обновлятся то что Вам надо будет прогой
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / счетчик печати
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]