Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Печать на выбираемый принтер. Зебра. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Печать на выбираемый принтер. Зебра.
koyaanisqatsi Дата: Вторник, 12.01.2016, 19:27 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Добрый вечер.

Есть Эксель 2010. Есть несколько принтеров один из них зебра (usb) один hp (usb) и есть еще сетевые hp. На Зебру уходят только этикетки из одного файла. Делать Зебру дефолтовский не камильфо. Очень часто, почти всегда сталкиваюсь с проблемой плохого отклика экселя после отправки на этот принтер при помощи макроса который привел ниже для примера. Макрос выполняет следующую функцию На определенном листе в определенную ячейку сохраняет название последнего выбранного принтера. Если оно совпадает с одним из принтеров текущего списка то просто печатает на него. Если название принтера изменилось то предлагает человеку выбрать на какой отправлять. Все как бы очень просто. НО если я посылаю одну этикетку то сколько думать будет комп над этой операции весьма актуально а думать он может секунд 15. Я как-то уже решал эту проблему но не помню как((((
Пока что я смог наковырять это вот: Если я открываю этот файл в экселе и перед тем как воспользоватся макросом печати сам захожу в меню ПЕЧАТЬ и выбираю там нужный притер а потом могу выйти из этого меню и запустить макрос то отклик происходит уже мгновенно. послал одну этикетку тут же могу печатать с другого листа.
Также если дефолтовский принтер является сам Зебра. тоже отклик мгновенный получается.

Но когда макросу надо запросить список принтеров перевыбрать если неправильно выбран послать на печать. В принципе до сих пор все тоже очень быстро а вот когда этикетка уже напечатана и макросу надо вернуть дефолтовский принтер на место вот тут происходят тормоза секунд на 15. Если я печатаю этикеток 50 то конечно я этого могу и не заметить так как все-равно жду пока принтер все напечатает. Ну и соответственно у макроса есть время чтобы вернуть дефолтовский принтер на место. Но это только по ощущениям. Как запускать тайпер выполнения операций макроса я не знаю. Курил эту тему но так и не дошел мозгом до воплощения этого в жизнь.

Надеюсь кто-то сталкивался с такой проблемой и знает как можно разобраться с принтерами ?

[vba]
Код

Sub Печать_на_Zebra()
Dim aPr$, s$, AllPrinters As Object, printer As Object, n%, m, primary_printer$, print_name$
primary_printer = Sheets("printer").Cells(1, "a").Value ' Вместо "doPDF v7" - впишите нужный принтер по умолчанию
' primary_printer = "ZDesigner GC420d (перенаправлено 16)" ' Вместо "doPDF v7" - впишите нужный принтер по умолчанию
aPr = Application.ActivePrinter
Set AllPrinters = GetObject("winmgmts://./root/CIMV2").ExecQuery("SELECT * FROM Win32_Printer", , 48)
'Получаем список принтеров
    For Each printer In AllPrinters
        n = n + 1
        s = s & vbCr & n & ": " & printer.Name
        If printer.Name = primary_printer Then print_name = primary_printer: Exit For ' если primary_printer найден в списке доступных
    Next
    s = Right(s, Len(s) - 1)
'Если такого принтера не найдено:
If print_name = "" Then
    If InStr(1, s, vbCr, vbTextCompare) = 0 Then MsgBox "Error no printers": Exit Sub
    m = Split(s, vbCr)
    n = Val(InputBox("input Number of printer:" & vbCr & s, "Not found:" & primary_printer, 1))
    If n > UBound(m) Or n = 0 Then MsgBox "Error no printers with this number": Exit Sub
    print_name = Split(m(n - 1), " ", 2)(1)
    Sheets("printer").Cells(1, "a").Value = print_name
End If
'===============================
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=print_name
Application.ActivePrinter = aPr ' Возврат активного принтера
End Sub

[/vba]

Ну и пометочка к правилу прикладывать файл. Час потратил времени чтобы удалить все лишнее из файла оставил несколько страниц на страницах почти ничего не оставил кроме того что нужно, по факту самый мизир. Реально мало информации. Но так и не понял почему файлвесит 910 килобайт. В итоге в соответствии с правилами его выложить не могу. Теоретически могу на своем сайте его опубликовать как ссылка на файл. Но только с разрешения администраторов. Спасибо.
 
Ответить
СообщениеДобрый вечер.

Есть Эксель 2010. Есть несколько принтеров один из них зебра (usb) один hp (usb) и есть еще сетевые hp. На Зебру уходят только этикетки из одного файла. Делать Зебру дефолтовский не камильфо. Очень часто, почти всегда сталкиваюсь с проблемой плохого отклика экселя после отправки на этот принтер при помощи макроса который привел ниже для примера. Макрос выполняет следующую функцию На определенном листе в определенную ячейку сохраняет название последнего выбранного принтера. Если оно совпадает с одним из принтеров текущего списка то просто печатает на него. Если название принтера изменилось то предлагает человеку выбрать на какой отправлять. Все как бы очень просто. НО если я посылаю одну этикетку то сколько думать будет комп над этой операции весьма актуально а думать он может секунд 15. Я как-то уже решал эту проблему но не помню как((((
Пока что я смог наковырять это вот: Если я открываю этот файл в экселе и перед тем как воспользоватся макросом печати сам захожу в меню ПЕЧАТЬ и выбираю там нужный притер а потом могу выйти из этого меню и запустить макрос то отклик происходит уже мгновенно. послал одну этикетку тут же могу печатать с другого листа.
Также если дефолтовский принтер является сам Зебра. тоже отклик мгновенный получается.

Но когда макросу надо запросить список принтеров перевыбрать если неправильно выбран послать на печать. В принципе до сих пор все тоже очень быстро а вот когда этикетка уже напечатана и макросу надо вернуть дефолтовский принтер на место вот тут происходят тормоза секунд на 15. Если я печатаю этикеток 50 то конечно я этого могу и не заметить так как все-равно жду пока принтер все напечатает. Ну и соответственно у макроса есть время чтобы вернуть дефолтовский принтер на место. Но это только по ощущениям. Как запускать тайпер выполнения операций макроса я не знаю. Курил эту тему но так и не дошел мозгом до воплощения этого в жизнь.

Надеюсь кто-то сталкивался с такой проблемой и знает как можно разобраться с принтерами ?

[vba]
Код

Sub Печать_на_Zebra()
Dim aPr$, s$, AllPrinters As Object, printer As Object, n%, m, primary_printer$, print_name$
primary_printer = Sheets("printer").Cells(1, "a").Value ' Вместо "doPDF v7" - впишите нужный принтер по умолчанию
' primary_printer = "ZDesigner GC420d (перенаправлено 16)" ' Вместо "doPDF v7" - впишите нужный принтер по умолчанию
aPr = Application.ActivePrinter
Set AllPrinters = GetObject("winmgmts://./root/CIMV2").ExecQuery("SELECT * FROM Win32_Printer", , 48)
'Получаем список принтеров
    For Each printer In AllPrinters
        n = n + 1
        s = s & vbCr & n & ": " & printer.Name
        If printer.Name = primary_printer Then print_name = primary_printer: Exit For ' если primary_printer найден в списке доступных
    Next
    s = Right(s, Len(s) - 1)
'Если такого принтера не найдено:
If print_name = "" Then
    If InStr(1, s, vbCr, vbTextCompare) = 0 Then MsgBox "Error no printers": Exit Sub
    m = Split(s, vbCr)
    n = Val(InputBox("input Number of printer:" & vbCr & s, "Not found:" & primary_printer, 1))
    If n > UBound(m) Or n = 0 Then MsgBox "Error no printers with this number": Exit Sub
    print_name = Split(m(n - 1), " ", 2)(1)
    Sheets("printer").Cells(1, "a").Value = print_name
End If
'===============================
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=print_name
Application.ActivePrinter = aPr ' Возврат активного принтера
End Sub

[/vba]

Ну и пометочка к правилу прикладывать файл. Час потратил времени чтобы удалить все лишнее из файла оставил несколько страниц на страницах почти ничего не оставил кроме того что нужно, по факту самый мизир. Реально мало информации. Но так и не понял почему файлвесит 910 килобайт. В итоге в соответствии с правилами его выложить не могу. Теоретически могу на своем сайте его опубликовать как ссылка на файл. Но только с разрешения администраторов. Спасибо.

Автор - koyaanisqatsi
Дата добавления - 12.01.2016 в 19:27
krosav4ig Дата: Среда, 13.01.2016, 17:51 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
если нужно выбирать принтер, я обычно таким кодом пользуюсь
[vba]
Код
Sub Print2OtherPrinter()
    Dim aPrn: aPrn = ActivePrinter
    If Application.Dialogs(xlDialogPrinterSetup).Show Then _
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
    ActivePrinter = aPrn
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеесли нужно выбирать принтер, я обычно таким кодом пользуюсь
[vba]
Код
Sub Print2OtherPrinter()
    Dim aPrn: aPrn = ActivePrinter
    If Application.Dialogs(xlDialogPrinterSetup).Show Then _
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
    ActivePrinter = aPrn
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 13.01.2016 в 17:51
koyaanisqatsi Дата: Среда, 13.01.2016, 20:42 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, Я хотел чтобы эксель запоминал текущий принтер при запуске макроса печати сравнивал сохраненный в ячейки со списком принтеров если такой есть то отправлял бы на сохраненный в ячейке если такого нет то надо выбрать из списка куда отправить. После отправки вернуть текущий. Несколько сложнее задача (....
Почему все так сложно ? Потому что имя принтера на который отправлять надо из этого файла часто меняется. А меняется в названии цыферки после слов перенаправлено. Если бы имя принтера всегда было одинаково то можно было бы использовать сохраненное название в ячейке.

P.S: Заметил еще такую штуку. На том компе очень долго открывается окно Устройства и Принтеры. Дома открыл почти сразу открылось.


Сообщение отредактировал koyaanisqatsi - Четверг, 14.01.2016, 03:57
 
Ответить
Сообщениеkrosav4ig, Я хотел чтобы эксель запоминал текущий принтер при запуске макроса печати сравнивал сохраненный в ячейки со списком принтеров если такой есть то отправлял бы на сохраненный в ячейке если такого нет то надо выбрать из списка куда отправить. После отправки вернуть текущий. Несколько сложнее задача (....
Почему все так сложно ? Потому что имя принтера на который отправлять надо из этого файла часто меняется. А меняется в названии цыферки после слов перенаправлено. Если бы имя принтера всегда было одинаково то можно было бы использовать сохраненное название в ячейке.

P.S: Заметил еще такую штуку. На том компе очень долго открывается окно Устройства и Принтеры. Дома открыл почти сразу открылось.

Автор - koyaanisqatsi
Дата добавления - 13.01.2016 в 20:42
SLAVICK Дата: Четверг, 14.01.2016, 11:50 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
На том компе очень долго открывается окно Устройства и Принтеры. Дома открыл почти сразу открылось.


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


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
На том компе очень долго открывается окно Устройства и Принтеры. Дома открыл почти сразу открылось.


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

Автор - SLAVICK
Дата добавления - 14.01.2016 в 11:50
koyaanisqatsi Дата: Четверг, 14.01.2016, 19:55 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, Да вы совершенно правы я уже однажды мучался с этой проблемой. Но как-то ее сумел решить и забыл как(((( Теперь по новой мучуюсь. Попробую все принтеры удалить вдруг поможет.
Возможно была бы логика в этих словах. Хотя может быть она и есть. Но есть одно но. Дело в том что как я понимаю первый запуск макроса запрашивает список принтеров. И наверно должен происходить индекс но он не происходит. Но когда я захожу в меню ПЕЧАТЬ не только мне надо кликнуть и развернуть все принтеры чтобы их увидеть в диалоговом окне, но и именно выбрать Зебру. В этот момент в экселе происходит что-то типа верстки под страницу выделенного фрагмента для печати "Страница" виртуальная - этикетка. Так вот можно даже после выбора этого принтера не производить печать, а нажимать эскейп после чего все этикетки имеют отклик достаточный для нормальной работы. Чего не происходит после одного или нескольких повторов печати по макросу. То-есть скорее всего не в индексации дело. А в каком-то другом процессе разных размеров может быть принтеров физического размера листа. Не знаю трудно предположить в чем может быть затык.

На каждой страничке есть формула области печати. Не знаю может ли это иметь значение ?
Код
=СМЕЩ(Кабачки!$A$1;(Кабачки!$F$2-1)*11+1;;11*Кабачки!$F$3;3)
 
Ответить
СообщениеSLAVICK, Да вы совершенно правы я уже однажды мучался с этой проблемой. Но как-то ее сумел решить и забыл как(((( Теперь по новой мучуюсь. Попробую все принтеры удалить вдруг поможет.
Возможно была бы логика в этих словах. Хотя может быть она и есть. Но есть одно но. Дело в том что как я понимаю первый запуск макроса запрашивает список принтеров. И наверно должен происходить индекс но он не происходит. Но когда я захожу в меню ПЕЧАТЬ не только мне надо кликнуть и развернуть все принтеры чтобы их увидеть в диалоговом окне, но и именно выбрать Зебру. В этот момент в экселе происходит что-то типа верстки под страницу выделенного фрагмента для печати "Страница" виртуальная - этикетка. Так вот можно даже после выбора этого принтера не производить печать, а нажимать эскейп после чего все этикетки имеют отклик достаточный для нормальной работы. Чего не происходит после одного или нескольких повторов печати по макросу. То-есть скорее всего не в индексации дело. А в каком-то другом процессе разных размеров может быть принтеров физического размера листа. Не знаю трудно предположить в чем может быть затык.

На каждой страничке есть формула области печати. Не знаю может ли это иметь значение ?
Код
=СМЕЩ(Кабачки!$A$1;(Кабачки!$F$2-1)*11+1;;11*Кабачки!$F$3;3)

Автор - koyaanisqatsi
Дата добавления - 14.01.2016 в 19:55
SLAVICK Дата: Четверг, 14.01.2016, 23:37 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
В этот момент в экселе происходит что-то типа верстки под страницу выделенного фрагмента для печати "Страница" виртуальная - этикетка.

так и есть - а если вручную выбрать принтер? тоже подвисает?
Кстати, судя по этой теме так и не решили :)
У Вас наверно много страниц в документе. Вы долго в том документе работаете - может есть смысл возвращать дефолтный принтер при закрытии книги? - тогда не будет частая смена принтера.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
В этот момент в экселе происходит что-то типа верстки под страницу выделенного фрагмента для печати "Страница" виртуальная - этикетка.

так и есть - а если вручную выбрать принтер? тоже подвисает?
Кстати, судя по этой теме так и не решили :)
У Вас наверно много страниц в документе. Вы долго в том документе работаете - может есть смысл возвращать дефолтный принтер при закрытии книги? - тогда не будет частая смена принтера.

Автор - SLAVICK
Дата добавления - 14.01.2016 в 23:37
koyaanisqatsi Дата: Пятница, 15.01.2016, 00:32 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

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

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

Тогда я решил проблему говорю же ) Но не помню как. Когда все работало хорошо драйвера были странно как-то у зебры установлены. В свойства принтера почему-то мог войти только через выпадающее меню внутри клика по принтеры. ХМ чето запутано объяснил. Короче кликал на принтер там есть в менюшке подменю свойства принтера она еще на два принтера разворачивалась вернее на два драйвера один EPL от зебры второй обычный, если правильно помню название. Причем EPL почему-то не удалялся. Удалял а он сразу же обратно ставился сам по себе. Печатал я на стандартном драйвере а не через EPL. Теперь драйвера ставятся в как два отдельных принтера прямо в Устройствах и Принтерах и можно удалить EPL. Но может и не в этом была фишка хотя кто его знает. Может я какую-то хитрую опцию тогда нашел в свойствах драйвера.
 
Ответить
СообщениеSLAVICK, Да возможно это хорошая идея. Про возврат дефолтного принтера по закрытию книги. А как это в макросе написать ?
Страниц не много и не мало, но негативный временной эффект остался даже на урезанном файле до одной страницы с этикеткой.

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

Тогда я решил проблему говорю же ) Но не помню как. Когда все работало хорошо драйвера были странно как-то у зебры установлены. В свойства принтера почему-то мог войти только через выпадающее меню внутри клика по принтеры. ХМ чето запутано объяснил. Короче кликал на принтер там есть в менюшке подменю свойства принтера она еще на два принтера разворачивалась вернее на два драйвера один EPL от зебры второй обычный, если правильно помню название. Причем EPL почему-то не удалялся. Удалял а он сразу же обратно ставился сам по себе. Печатал я на стандартном драйвере а не через EPL. Теперь драйвера ставятся в как два отдельных принтера прямо в Устройствах и Принтерах и можно удалить EPL. Но может и не в этом была фишка хотя кто его знает. Может я какую-то хитрую опцию тогда нашел в свойствах драйвера.

Автор - koyaanisqatsi
Дата добавления - 15.01.2016 в 00:32
SLAVICK Дата: Пятница, 15.01.2016, 12:21 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
тоже подвисает?" Я же писал что Если в меню печать раскрыть весь список принтеров то ситуация не поменяется но если выбрать зебру и не нажимать печать а просто выйти то все печатается по макросу быстро
Я имел ввиду если выбрать нужный принтер вручную, и нажать эскейп - excel подвисает сразу после этого(без запуска макроса сразу после нажатия эскейп)

Тогда я решил проблему говорю же ) Но не помню как.
Вот видите как бывает - а поделились бы решением на форуме - можно было бы вспомнить и другим может помогло бы ;)

А как это в макросе написать ?

Смотрите пример. Поменял немного код.
Поменял процедуру для списка всех принтеров. А выбор принтера позаимствовал у krosav4ig - так проще и удобнее. (надеюсь он не против) :D
При открытии книги - происходит поиск введенного принтера и его назначение активным.
При закрытии книге - возврат принтера, который был активным до открытия.
Пока книга открыта - активным будет введенный принтер.
Сделал макросы отдельно - чтобы можно было запускать также и опционно :D
К сообщению приложен файл: 1777020_2016-01.xlsm (71.4 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
тоже подвисает?" Я же писал что Если в меню печать раскрыть весь список принтеров то ситуация не поменяется но если выбрать зебру и не нажимать печать а просто выйти то все печатается по макросу быстро
Я имел ввиду если выбрать нужный принтер вручную, и нажать эскейп - excel подвисает сразу после этого(без запуска макроса сразу после нажатия эскейп)

Тогда я решил проблему говорю же ) Но не помню как.
Вот видите как бывает - а поделились бы решением на форуме - можно было бы вспомнить и другим может помогло бы ;)

А как это в макросе написать ?

Смотрите пример. Поменял немного код.
Поменял процедуру для списка всех принтеров. А выбор принтера позаимствовал у krosav4ig - так проще и удобнее. (надеюсь он не против) :D
При открытии книги - происходит поиск введенного принтера и его назначение активным.
При закрытии книге - возврат принтера, который был активным до открытия.
Пока книга открыта - активным будет введенный принтер.
Сделал макросы отдельно - чтобы можно было запускать также и опционно :D

Автор - SLAVICK
Дата добавления - 15.01.2016 в 12:21
koyaanisqatsi Дата: Пятница, 15.01.2016, 16:04 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
SLAVICK,
"и нажать эскейп - excel подвисает сразу после этого(без запуска макроса сразу после нажатия эскейп)"
Нет не подвисает. Просто проходит секунда или пол по переразмещению на листе выделенного фрагмента или листа с областью печати.
Спасибо проверю отпишусь. Но скорее всего будет работать как надо.
[moder]Для вставки цитаты есть специальная кнопка.
Посмотрите как у меня в постах. Используйте ее.
Нужно выделить текст, который Вы хотите процитировать и нажать кнопку[/moder]


Сообщение отредактировал SLAVICK - Пятница, 15.01.2016, 16:24
 
Ответить
СообщениеSLAVICK,
"и нажать эскейп - excel подвисает сразу после этого(без запуска макроса сразу после нажатия эскейп)"
Нет не подвисает. Просто проходит секунда или пол по переразмещению на листе выделенного фрагмента или листа с областью печати.
Спасибо проверю отпишусь. Но скорее всего будет работать как надо.
[moder]Для вставки цитаты есть специальная кнопка.
Посмотрите как у меня в постах. Используйте ее.
Нужно выделить текст, который Вы хотите процитировать и нажать кнопку[/moder]

Автор - koyaanisqatsi
Дата добавления - 15.01.2016 в 16:04
koyaanisqatsi Дата: Пятница, 15.01.2016, 16:32 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, Да уж. Проблема то была в одной запятой. ) Просто в изначальном коде забанил строку возврата дефолтного принтера и все стало как надо, а принтер не для винды выбирался а именно для книги так что когда книга закрывается всеравно принтер остается как и был до открытия файла. Вот только это не сработает если эксель не закрыть но даладно там будет видно. Главное уже есть инструменты ) За что огромное спасибо ! . Тормозит только при открытии самого файла. Но это можно пережить. Ваш код тоже сохранил если понадобится в будущем то и хорошо )
 
Ответить
СообщениеSLAVICK, Да уж. Проблема то была в одной запятой. ) Просто в изначальном коде забанил строку возврата дефолтного принтера и все стало как надо, а принтер не для винды выбирался а именно для книги так что когда книга закрывается всеравно принтер остается как и был до открытия файла. Вот только это не сработает если эксель не закрыть но даладно там будет видно. Главное уже есть инструменты ) За что огромное спасибо ! . Тормозит только при открытии самого файла. Но это можно пережить. Ваш код тоже сохранил если понадобится в будущем то и хорошо )

Автор - koyaanisqatsi
Дата добавления - 15.01.2016 в 16:32
XenXheng Дата: Пятница, 01.11.2019, 19:15 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2000 и ранее
koyaanisqatsi,
Мне нужно было сменить принтер при открытии документа Word, не меняя системный принтер по-умолчанию.
В редакторе VBA:
Project Normal
+Microsoft Word Объекты
-+ThisDocument
[vba]
Код

Private Sub Document_Open()
'ActivePrinter = "Adobe PDF" - эта команда меняет системный принтер по-умолчанию (задержка на 15 секунд).
WordBasic.FilePrintSetup Printer:="Adobe PDF", DoNotSetAsSysDefault:=1
End Sub
[/vba]
 
Ответить
Сообщениеkoyaanisqatsi,
Мне нужно было сменить принтер при открытии документа Word, не меняя системный принтер по-умолчанию.
В редакторе VBA:
Project Normal
+Microsoft Word Объекты
-+ThisDocument
[vba]
Код

Private Sub Document_Open()
'ActivePrinter = "Adobe PDF" - эта команда меняет системный принтер по-умолчанию (задержка на 15 секунд).
WordBasic.FilePrintSetup Printer:="Adobe PDF", DoNotSetAsSysDefault:=1
End Sub
[/vba]

Автор - XenXheng
Дата добавления - 01.11.2019 в 19:15
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!