Есть ли возможность настроить Excel так, чтобы при выводе на печать настройка "Напечатать выделенный фрагмент" была всегда основной и активной? Чтобы выделил диапазон, нажал Ctrl+P и Enter.
Есть ли возможность настроить Excel так, чтобы при выводе на печать настройка "Напечатать выделенный фрагмент" была всегда основной и активной? Чтобы выделил диапазон, нажал Ctrl+P и Enter.alex_tm
думаю, что нет. vba должен помочь, наверное. рекордер так сказал: [vba]
Код
Sub shtoocer() Selection.PrintOut Copies:=1, Collate:=True End Sub
[/vba] проверить не могу, принтера нет, настройки менять лень. назначить какое-то сочетание клавиш, поместив в персональную книгу макросов. вдруг прокатит.
думаю, что нет. vba должен помочь, наверное. рекордер так сказал: [vba]
Код
Sub shtoocer() Selection.PrintOut Copies:=1, Collate:=True End Sub
[/vba] проверить не могу, принтера нет, настройки менять лень. назначить какое-то сочетание клавиш, поместив в персональную книгу макросов. вдруг прокатит.Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Среда, 29.06.2016, 20:52
alex_tm, реализация с помощью макросов, но без отображение диалогового окна "Печать" (я не смог найти, как с помощью VBA выбрать в этом окне "Напечатать выделенный фрагмент"). Если никогда раньше не работали с личной книгой макросов, то поместите этот файл по этому адресу (он может у Вас отличаться и некоторые папки могут быть скрытыми, может потребоваться их отобразить): C:\Users\User\AppData\Roaming\Microsoft\Excel\XLSTART Затем перезапустите Excel. При запуске Excel будет срабатывать макрос, который находится в файле "PERSONAL.XLSB" - макрос будет назначать сочетание Ctrl+P макросу, который будет печатать. Если раньше работали с личной книгой макросов, то посмотрите модуль книги и модуль "Module_Print" - они участвуют в печати.
Хотя нашел, как работать с окном "Печать". Если хотите, то можете использовать окно "Печать", для этого в файле "PERSONAL.XLSB", в модуле "Module_Print" удалите имеющуюся процедуру, а эту вставьте: [vba]
Код
Sub MyPrint() Application.Dialogs(xlDialogPrint).Show Arg12:=1 End Sub
[/vba]
alex_tm, реализация с помощью макросов, но без отображение диалогового окна "Печать" (я не смог найти, как с помощью VBA выбрать в этом окне "Напечатать выделенный фрагмент"). Если никогда раньше не работали с личной книгой макросов, то поместите этот файл по этому адресу (он может у Вас отличаться и некоторые папки могут быть скрытыми, может потребоваться их отобразить): C:\Users\User\AppData\Roaming\Microsoft\Excel\XLSTART Затем перезапустите Excel. При запуске Excel будет срабатывать макрос, который находится в файле "PERSONAL.XLSB" - макрос будет назначать сочетание Ctrl+P макросу, который будет печатать. Если раньше работали с личной книгой макросов, то посмотрите модуль книги и модуль "Module_Print" - они участвуют в печати.
Хотя нашел, как работать с окном "Печать". Если хотите, то можете использовать окно "Печать", для этого в файле "PERSONAL.XLSB", в модуле "Module_Print" удалите имеющуюся процедуру, а эту вставьте: [vba]
Код
Sub MyPrint() Application.Dialogs(xlDialogPrint).Show Arg12:=1 End Sub
Karataev, Ваш вариант действительно работает. Спасибо за помощь. И вот ещё какой вопрос. После добавления Вашей процедуры, диалоговое окно вывода на печать имеет старый вид - если не ошибаюсь, он таким был в старых (97-2003) версиях Excel. В принципе, и этот вариант полностью меня устраивает, но всё таки - почему при нажатии Ctrl+P появляется старое диалоговое окно, а если выбирать функцию из меню "Файл" -"Печать" - появляется привычное для новых версий Excel диалоговое окно печати?
Karataev, Ваш вариант действительно работает. Спасибо за помощь. И вот ещё какой вопрос. После добавления Вашей процедуры, диалоговое окно вывода на печать имеет старый вид - если не ошибаюсь, он таким был в старых (97-2003) версиях Excel. В принципе, и этот вариант полностью меня устраивает, но всё таки - почему при нажатии Ctrl+P появляется старое диалоговое окно, а если выбирать функцию из меню "Файл" -"Печать" - появляется привычное для новых версий Excel диалоговое окно печати?alex_tm
Karataev, - в любом случае - спасибо! Я был практически уверен, что этот вопрос не имеет решения, но как оказалось - есть такие специалисты как Вы, которым и это под силу. Спасибо огромное!
Karataev, - в любом случае - спасибо! Я был практически уверен, что этот вопрос не имеет решения, но как оказалось - есть такие специалисты как Вы, которым и это под силу. Спасибо огромное!alex_tm