Excel это не сложно

Основные форумы => Вопросы по Word и VBA => Тема начата: Azakia от 09.06.2021, 10:31:47



Название: Скрыть/отобразить шапку письма
Отправлено: Azakia от 09.06.2021, 10:31:47
Доброго здоровья, ребятки!  :)
Есть бланк исходящего письма (пример 1.docx), он печатается в таком виде для адресата, а для нас копия выпускается без шапки - скрываю герб и текст, но сохраняя положение на странице всего остального, а именно:
1-й вариант действий: через формат рисунка я накручиваю яркость до 100, а шрифт крашу в белый (пример 2.docx)
2-й вариант действий: вставляю белую фигуру чтобы перекрыть нужные области (пример 3.docx)

Подходящего для таких манипуляций стандартного инструмента в Word я не нашел (может и есть, пожалуйста, подскажите)
Или
Есть ли возможность заменить эти манипуляции на макрос?


Название: Re:Скрыть/отобразить шапку письма
Отправлено: Azakia от 09.06.2021, 10:34:16
Недостающие примеры


Название: Re:Скрыть/отобразить шапку письма
Отправлено: Azakia от 09.06.2021, 10:34:34
последний


Название: Re:Скрыть/отобразить шапку письма
Отправлено: Дмитрий Щербаков(The_Prist) от 09.06.2021, 11:10:16
А стандартное скрытие текста в Word не подходит? Выделяете текст(можно вместе с фигурами, картинками и т.д.) -Правая кнопка мыши -Шрифт. Ставите галочку "Скрытый".


Название: Re:Скрыть/отобразить шапку письма
Отправлено: Azakia от 09.06.2021, 11:25:55
Не подходит, так как всё содержимое ниже подтягивается вверх вместо скрытого текста и герба.
Необходимо сохранить положение и линию очерчивания "шапки"


Название: Re:Скрыть/отобразить шапку письма
Отправлено: Дмитрий Щербаков(The_Prist) от 09.06.2021, 11:53:36
Можно поместить внутрь таблицы шапки фигуру с подогнанной высотой и скрывать все, кроме неё. А саму фигуру можно сделать без заливки и без границ. И чтобы не смещалось ничего - герб желательно тоже поместить внутр таблицы. Иначе смещение все равно будет, т.к. герб будет скрываясь смещать таблицу.
Ну а если все же не подходит - то тогда только макросы. Запись макросов вроде работает в Word-е и действия не самые сложные. Одна строка буквально. Создаете белую фигуру без границ, называете её "_hidden" и потом регулируете её видимость:
Код: (vb)
activedocument.Shapes("_hidden").Visible = false 'отображаем шапку

activedocument.Shapes("_hidden").Visible = true 'скрываем шапку


Назначить имя фигуре можно так: выделяете фигуру, переходите в VBA в окно Immediate(Ctrl+G), прописываете там строку:
Код: (vb)
Selection.ShapeRange.Name = "_hidden"

и жмете Enter


Название: Re:Скрыть/отобразить шапку письма
Отправлено: Azakia от 09.06.2021, 15:10:21
Дмитрий, спасибо, но почему-то подобные, на мой взгляд, простые действия макрорекодер отказывается записывать... При этом в экселе такое прокатывает!
Может офис 2010, а может и "руки кривые"... Если я что-то неправильно делаю, то был бы рад почитать инструкцию по правильной работе вордовского макрорекодера, если таковая имеется.
Или же всё таки сменить офис?

В примере с фигурой, вместо накрутки прозрачности, повесил Ваши строчки кода по скрытию на CheckBox с проверкой Value - работает! Правда такого как в экселе в свойствах объекта нет опции "выводить объект на печать", выкрутился поместив под самую границу листа. Спасибо за помощь. По возможности, ответьте на вопросы выше.