powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
13 сообщений из 13, страница 1 из 1
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34391659
V_Milto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из формы произвожу предварительный просмотр области печати.

Range(UpLeftSqr, DnRitSqr).Select
ActiveSheet.PageSetup.PrintArea = Application.Selection.Address
ActiveWindow.SelectedSheets.PrintPreview
ActiveSheet.PageSetup.PrintArea = ""

Но получается, что окно PrintPreview модальное, поверх лежит форма, что крайне неудобно.
Возможно форму спрятать за окно PrintPreview или указать ей, что ее верхний левый угол должен быть в нижнем углу?
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34392053
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub CommandButton1_Click()
Range("A1:A10").Select
Worksheets("Лист1").PageSetup.PrintArea = Application.Selection.Address
Me.Hide
Worksheets("Лист1").PrintPreview
Me.Show
Worksheets("Лист1").PageSetup.PrintArea = ""

End Sub
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34394732
V_Milto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Ну почему сначала думаешь о сложных решениях - сдвинуть в угол, попытаться положить форму на задний план......., не думал, (не попробовал ), что превью стопорит выполнение VBA...
Спасибо vkodor, с Вашей помощью (стартовые примеры) положил все управление на форму. Получилось красиво и удобно. Прада с нанесением графических символов (меток) в ячейки накушался. Готов положить для критики свою поделку -:). Спасибо за помощь
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34394736
V_Milto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл спросить - иногда, для копирования данных в форму или для вставки графики (по другому не получается) приходится использовать select. Как сдедалать отмену select? Отмечать пустые ячейки неудобно.
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34394744
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V_MiltoЗабыл спросить - иногда, для копирования данных в форму или для вставки графики (по другому не получается) приходится использовать select. Как сдедалать отмену select? Отмечать пустые ячейки неудобно.Никак его не отменить. На листе всегда есть какая-то выделеная область, ее левый верхний угол всегда доступен через ActiveCell.
Не надо использовать select для вставки данных или копирования графики. Делай targetworksheet.Activate. Тогда выделение не будет бегать по листу вообще.
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34394769
lena_####
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl[quot V_Milto]На листе всегда есть какая-то выделеная область, ее левый верхний угол всегда доступен через ActiveCell.
Либо правый нижний:

...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34394827
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lena_#### White Owl[quot V_Milto]На листе всегда есть какая-то выделеная область, ее левый верхний угол всегда доступен через ActiveCell.
Либо правый нижний:Вообще-то, любая ячейка в пределах Selection. Просто мне очень хотелось спать :)
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34395069
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V_MiltoГотов положить для критики свою поделку -:). Спасибо за помощь
С удовольствием посмотрю.
На счет критики не обещаю (сам еще слаб).
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34395863
V_Milto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl V_MiltoЗабыл спросить - иногда, для копирования данных в форму или для вставки графики (по другому не получается) приходится использовать select. Как сдедалать отмену select? Отмечать пустые ячейки неудобно.Никак его не отменить. На листе всегда есть какая-то выделеная область, ее левый верхний угол всегда доступен через ActiveCell.
Не надо использовать select для вставки данных или копирования графики. Делай targetworksheet.Activate. Тогда выделение не будет бегать по листу вообще.

Попробую еще раз. Почему надо снять select. В форме пользователь должен указать ячейку (не область, а именно ячейку), где лежит заголовок столбца. Я реализовал так - пользователь может отметить мышкой ячейку (одну) и затем щелкнуть (двойным) на поле в форме. Адрес отмеченной ячейки я помещаю в поле формы. (RefEdit для этой цели мне не понравился. ) Соответственно щелкнутая ячейка остается. Во избежании случайной ошибки я должен снять это выделение.
С Вашей помощью Select при копировании графики убрал
Делал так -
MyShapeFrom.Copy скопировал графику
RangeTo.Paste не прошло

MyShapeFrom.Copy
RangeTo.Select делал так
ActiveSheet.Paste

MyShapeFrom.Copy
RangeTo.Activate теперь так

Не удалось сжать проект меньше 170кб. Прошу прощения, разьил на два
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34395866
V_Milto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И второй кусочек.
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34396248
V_Milto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще одна проблемка. Окно превью открывалось всегда с цветными ячейками, хоть и принера цветного нет. Теперь только ч.б. В чем засада ?
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34396811
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V_MiltoЯ реализовал так - пользователь может отметить мышкой ячейку (одну) и затем щелкнуть (двойным) на поле в форме. Адрес отмеченной ячейки я помещаю в поле формы. (RefEdit для этой цели мне не понравился. )Лучше использовать RefEdit. Он все же именно для этого предназначен и вообще он действует точно так же как все диалоги Экселя где юзеру надо указать адрес. А значит юзеру он будет привычен и понятен.

V_MiltoСоответственно щелкнутая ячейка остается.А RefEdit позволяет помечать ячейку "бегущей окантовкой" и не двигает реальную ActiveCell, соотвественно твоя проблема уже в принципе не возникает :)
V_Milto Во избежании случайной ошибки я должен снять это выделение.Ты не можешь снять выделение. Вообще.
Если так уж надо двигать курсор по листу, то сохраняй при старте макроса адрес активной ячейки. А в конце макроса ставь курсор обратно.
...
Рейтинг: 0 / 0
Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
    #34397181
V_Milto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Повторная игра с RefEdit показала, что этот контрол наверно будет удобней :)
Скорее всего надо будет только убрать имя листа и сделать проверку на отметку более обной ячейки.

С цветом превью скорее всего так - образцы данных я взял с машины где установлен цветной принтер и развивал свою работу на этои файле. Затем я сделал макрос форматирования страницы на своей машине (без Цв. принтера) . Надо решить эту задачку. Попробую сформировать макрос на Цв принтере, хотя строчек типа принтера я не нашел. Разрешение, размеры видел
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Как окно PrintPreview сделать не модальным или спрятать свою форму?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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