powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Можно ли такое сделать (при печати заменять слово)
14 сообщений из 14, страница 1 из 1
Можно ли такое сделать (при печати заменять слово)
    #33936971
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы при отправке документа на печать в нем заменялось скажем слово "начальник" на "упырь"
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33937037
121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
121
Гость
можно.
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33937283
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33937305
Stagiere
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cильно, видать, Вас достал ваш начальник :))
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33937611
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставь код в объект ThisWorkbook :)

Код: plaintext
1.
2.
3.
4.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cells.Replace What:="начальник", Replacement:="упырь", LookAt:=xlWhole, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33937615
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создай в документе Normal.dot модуль класса

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Public WithEvents App As Word.Application

Private Sub App_DocumentBeforePrint( _
  ByVal Doc As Document, _
  Cancel As Boolean)
    With Doc.Content.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "начальник"
        .Replacement.Text = "упырь"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
End Sub

Там же, но только в модуле документа.

Код: plaintext
1.
2.
3.
4.
Dim a As New Class1

Private Sub Document_Open()
    Set a.App = Application
End Sub

Убедись, что у начальника включена поддержка макросов. :)
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33938155
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbaproВставь код в объект ThisWorkbook :)

Код: plaintext
1.
2.
3.
4.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cells.Replace What:="начальник", Replacement:="упырь", LookAt:=xlWhole, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub


так не работает
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33938211
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй заменить LookAt:=xlWhole на LookAt:=xlPart , т.е. такой вариант

Код: plaintext
1.
2.
3.
4.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cells.Replace What:="начальник", Replacement:="упырь", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33938820
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда вставляешь этот код в ThisDocument и запускаешь его на выполнение (синий перевернутый треугольник) спрашивается имя макроса, а после того как указал имя создается голая процедура с таким именем без кода и макрос соответсвенно не выполняется. что делать?
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33938859
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делай как Ashton написал. Его код для Word, а мой для Excel.
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33939391
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рассажите подробно как это сделать в Word, у меня ругается на блок

Dim a As New Class1

Private Sub Document_Open()
Set a.App = Application
End Sub
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33939423
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все точна как написано...

AshtonСоздай в документе Normal.dot модуль класса

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Public WithEvents App As Word.Application

Private Sub App_DocumentBeforePrint( _
  ByVal Doc As Document, _
  Cancel As Boolean)
    With Doc.Content.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "начальник"
        .Replacement.Text = "упырь"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
End Sub

Там же, но только в модуле документа.

Код: plaintext
1.
2.
3.
4.
Dim a As New Class1

Private Sub Document_Open()
    Set a.App = Application
End Sub

Убедись, что у начальника включена поддержка макросов. :)
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33940347
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это пример для конкретного документа, а я предложил использовать данный код в модулях файла Normal.dot, чтобы он был применим для всех открываемых документов.
...
Рейтинг: 0 / 0
Можно ли такое сделать (при печати заменять слово)
    #33940698
Фотография KiLLun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все получилось в код нужно было добавить Option Explicit
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Можно ли такое сделать (при печати заменять слово)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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