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

Вход

Регистрация

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

 

= Мир MS Excel/привязка принтера к страницам - Мир MS Excel

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

Excel 2010
Здравствуйте.

Есть возможность присваивать определенные принтеры к определенным страницам ?
 
Ответить
СообщениеЗдравствуйте.

Есть возможность присваивать определенные принтеры к определенным страницам ?

Автор - koyaanisqatsi
Дата добавления - 31.01.2015 в 20:33
Serge_007 Дата: Суббота, 31.01.2015, 20:38 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Нет


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеНет

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

Excel 2010
:'(

А для книги целиком можно прописать нужный принтер ? Макросы разрешены. офис 2010


Сообщение отредактировал koyaanisqatsi - Суббота, 31.01.2015, 23:31
 
Ответить
Сообщение:'(

А для книги целиком можно прописать нужный принтер ? Макросы разрешены. офис 2010

Автор - koyaanisqatsi
Дата добавления - 31.01.2015 в 20:50
Karataev Дата: Воскресенье, 01.02.2015, 20:57 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
чтобы печатать книгу на конкретный принтер:
в модуль книги вставьте эту процедуру
[vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean)
        Const strPrinter As String = "doPDF 8 (Ne04:)"
        Application.ActivePrinter = strPrinter
End Sub
[/vba]
в константу strPrinter запишите принтер,на который должна печататься книга.
чтобы узнать имя принтера для константы strPrinter,сделайте так:1)выберите нужный принтер,2)в окне Immediate вставьте и запустите этот скрипт:
[vba]
Код
Print application.ActivePrinter
[/vba]

чтобы печать конкретный лист на конкретный принтер,попробуйте такое(имена принтеров и листов вам нужно самим указать )
[vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean)
      Const strPrinter1 As String = "doPDF 8 (Ne04:)"
      Const strPrinter2 As String = "doPDF 8 (Ne04:)"
      If ActiveSheet.Name = "Лист1" Then
          Application.ActivePrinter = strPrinter1
      Else
          Application.ActivePrinter = strPrinter2
      End If
End Sub
[/vba]


Сообщение отредактировал Karataev - Воскресенье, 01.02.2015, 21:03
 
Ответить
Сообщениечтобы печатать книгу на конкретный принтер:
в модуль книги вставьте эту процедуру
[vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean)
        Const strPrinter As String = "doPDF 8 (Ne04:)"
        Application.ActivePrinter = strPrinter
End Sub
[/vba]
в константу strPrinter запишите принтер,на который должна печататься книга.
чтобы узнать имя принтера для константы strPrinter,сделайте так:1)выберите нужный принтер,2)в окне Immediate вставьте и запустите этот скрипт:
[vba]
Код
Print application.ActivePrinter
[/vba]

чтобы печать конкретный лист на конкретный принтер,попробуйте такое(имена принтеров и листов вам нужно самим указать )
[vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean)
      Const strPrinter1 As String = "doPDF 8 (Ne04:)"
      Const strPrinter2 As String = "doPDF 8 (Ne04:)"
      If ActiveSheet.Name = "Лист1" Then
          Application.ActivePrinter = strPrinter1
      Else
          Application.ActivePrinter = strPrinter2
      End If
End Sub
[/vba]

Автор - Karataev
Дата добавления - 01.02.2015 в 20:57
RAN Дата: Воскресенье, 01.02.2015, 23:39 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеДавай, я поищу

Автор - RAN
Дата добавления - 01.02.2015 в 23:39
krosav4ig Дата: Понедельник, 02.02.2015, 01:21 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
В модуль ЭтаКнига
[vba]
Код
Private Function GetPrinter$(PrinterName$)
       Dim StrKey$: StrKey = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices\"
       With CreateObject("WScript.Shell")
           GetPrinter = PrinterName & " (" & Split(.RegRead(StrKey & PrinterName), ",")(1) & ")"
       End With
End Function
Sub DefinePrinters()
       On Error Resume Next
       Me.CustomDocumentProperties.Add "книга", 0, 4, "Принтер" 'задаем принтер для этой книги
       CustomDocumentProperties("книга") = "Принтер" 'если принтер для этой книги был задан раньше
       Me.CustomDocumentProperties.Add "Лист1", 0, 4, "Canon Inkjet iP4600 series" 'задаем принтер для Листа1
       CustomDocumentProperties("Лист1") = "Canon Inkjet iP4600 series" 'если принтер для Листа1 был задан раньше
       Me.CustomDocumentProperties.Add "Лист2", 0, 4, "Принтер2"
       CustomDocumentProperties("Лист2") = "Принтер2"
       Me.CustomDocumentProperties.Add "Лист3", 0, 4, "Принтер3"
       CustomDocumentProperties("Лист3") = "Принтер3"
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
       With ActiveWindow.SelectedSheets
           Application.ActivePrinter = GetPrinter(CustomDocumentProperties(IIf(.Count > 1, "книга", .Item(1).Name)))
       End With
End Sub
[/vba]
если нужны названия принтеров, вот функция, возвращающая массив названий всех установленных принтеров
[vba]
Код
Function GetPrinters() As Variant
      Dim coll As Collection: Set coll = New Collection
      Dim StrKey$: StrKey = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices\"
      Dim n&, arr()
      With GetObject("winmgmts://./root/CIMV2")
          For Each Printer In .ExecQuery("SELECT * FROM Win32_Printer", , 48)
              ReDim Preserve arr(n): arr(n) = Printer.Name n = n + 1
          Next
      End With
      GetPrinters = arr
End Function
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 02.02.2015, 01:26
 
Ответить
СообщениеВ модуль ЭтаКнига
[vba]
Код
Private Function GetPrinter$(PrinterName$)
       Dim StrKey$: StrKey = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices\"
       With CreateObject("WScript.Shell")
           GetPrinter = PrinterName & " (" & Split(.RegRead(StrKey & PrinterName), ",")(1) & ")"
       End With
End Function
Sub DefinePrinters()
       On Error Resume Next
       Me.CustomDocumentProperties.Add "книга", 0, 4, "Принтер" 'задаем принтер для этой книги
       CustomDocumentProperties("книга") = "Принтер" 'если принтер для этой книги был задан раньше
       Me.CustomDocumentProperties.Add "Лист1", 0, 4, "Canon Inkjet iP4600 series" 'задаем принтер для Листа1
       CustomDocumentProperties("Лист1") = "Canon Inkjet iP4600 series" 'если принтер для Листа1 был задан раньше
       Me.CustomDocumentProperties.Add "Лист2", 0, 4, "Принтер2"
       CustomDocumentProperties("Лист2") = "Принтер2"
       Me.CustomDocumentProperties.Add "Лист3", 0, 4, "Принтер3"
       CustomDocumentProperties("Лист3") = "Принтер3"
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
       With ActiveWindow.SelectedSheets
           Application.ActivePrinter = GetPrinter(CustomDocumentProperties(IIf(.Count > 1, "книга", .Item(1).Name)))
       End With
End Sub
[/vba]
если нужны названия принтеров, вот функция, возвращающая массив названий всех установленных принтеров
[vba]
Код
Function GetPrinters() As Variant
      Dim coll As Collection: Set coll = New Collection
      Dim StrKey$: StrKey = "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices\"
      Dim n&, arr()
      With GetObject("winmgmts://./root/CIMV2")
          For Each Printer In .ExecQuery("SELECT * FROM Win32_Printer", , 48)
              ReDim Preserve arr(n): arr(n) = Printer.Name n = n + 1
          Next
      End With
      GetPrinters = arr
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 02.02.2015 в 01:21
  • Страница 1 из 1
  • 1
Поиск:

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