Неужели CommandButton в Word нельзя сделать непечатаемым?

Программирование на Visual Basic for Applications
FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Неужели CommandButton в Word нельзя сделать непечатаемым?

Сообщение FINAL » 27.01.2006 (Пт) 15:14

В моем документе есть кнопки - CommandButtonN. Надо сделать так, чтобы при печати документа они не выводились. В Excel это делается очень просто - у кнопки есть такое свойство, я проверял. Если копировать кнопку из Excel, толку нет, она становится обычной кнопкой Worda. Я пробовал переделывать ее из InlineShape в Shape - никакого результата. Есть событие DocumentBeforePrint у объекта Word.Application и там бы я мог сделать кнопки невидимыми, так ведь у кнопок нет и свойства Visible! Может кто-нибудь знает, как мне помочь?

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 27.01.2006 (Пт) 17:05

Возможным решением моей проблемы может быть создание временной копии файла, из которой будут удалены все элементы управления. Из этой копии можно будет удалить кнопки, распечатать ее и удалить, а исходный документ не выводить на печать.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.01.2006 (Пт) 17:06

Это плохое решение.
Не лучше ли будет использовать кнопки не в документе, а на панели инструментов?
Lasciate ogni speranza, voi ch'entrate.

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 27.01.2006 (Пт) 17:12

Нет. Дело в том, что эти кнопки относятся к тексту документа и нужны в строго определенных местах. А почему плохое решение? По моему осталось только сделать все операции незаметными для юзера, т.е. как будто идет обычный процесс выбора параметров печати и сама печать без лишних вопросов.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.01.2006 (Пт) 17:14

В word есть параметр печати "Графические объекты", к которым кнопки относятся. Если картинок нет, можно запретить это всё печатать.
Но получается, документ с дырами будет?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 27.01.2006 (Пт) 17:19

Документы будут с картинками, и этот вариант не подходит.
Кнопки уменьшаются отдельным макросом до небольших размеров, вставляются где надо в концы строк, так что при их удалении форматирование не изменяется. А все таки, чем так плох вариант со временным файлом?

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 27.01.2006 (Пт) 17:24

А можно ли вызвать диалог о печати документа с помощью макроса? Т.е. я обрабатываю событие DocumentBeforePrint, а после него должно появляться окно диалога. В обработчике я создаю файл, отменяю печать для моего файла (есть там параметр Cancel), и хочу вызвать диалог для печати уже нового файла.

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 27.01.2006 (Пт) 17:32

Дурацкий вопрос. Прошу прощения

Application.Dialogs(wdDialogFilePrint).Display

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.01.2006 (Пт) 17:33

Да ничем...
Можно даже в том же...

Код: Выделить всё
  Dim s As Shape, c As Long
 
  For Each s In ThisDocument.Shapes
    If s.Type = msoOLEControlObject Then
      If s.OLEFormat.ClassType = "Forms.CommandButton.1" Then
        s.Delete
        c = c + 1
      End If
    End If
  Next
 
  ThisDocument.PrintOut
 
  If c Then ThisDocument.Undo c
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

FINAL
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 14.12.2005 (Ср) 19:02
Откуда: Казань

Сообщение FINAL » 27.01.2006 (Пт) 17:49

супер! гениально и просто :) . Буду реализовывать. Спасибо.

Сергейрус15
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 30.07.2022 (Сб) 22:32

Re: Неужели CommandButton в Word нельзя сделать непечатаемым

Сообщение Сергейрус15 » 30.07.2022 (Сб) 22:36

Добрый вечер! Подскажите, пожалуйста по шагам, куда на vba вводить код, чтобы седлать commandbutton невидимым? я просто новичок в ворде и мне интересно научиться) Спасибо большое)

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Неужели CommandButton в Word нельзя сделать непечатаемым

Сообщение Хакер » 31.07.2022 (Вс) 8:12

В зависимости от того, в какой момент и в качестве реакции на что кнопка должна стать невидимой.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList