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

Вход

Регистрация

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

 

= Мир MS Excel/Запрет печати нескольких листов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запрет печати нескольких листов (Макросы/Sub)
Запрет печати нескольких листов
DrMini Дата: Среда, 05.04.2023, 09:12 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1647
Репутация: 208 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Здравствуйте форумчане и гости форума.
Нашёл в Internet`e пример, как при помощи VBA запретить отправку на печать определённого листа с сообщением.

Подскажите пожалуйста, как подправить код, что бы можно было запретить вывод на печать не один лист, а (в моём случае) четырёх листов идущих не подряд.
К сообщению приложен файл: zapret_pechati_lista.xlsm (22.9 Kb)


Сообщение отредактировал DrMini - Среда, 05.04.2023, 09:14
 
Ответить
СообщениеЗдравствуйте форумчане и гости форума.
Нашёл в Internet`e пример, как при помощи VBA запретить отправку на печать определённого листа с сообщением.

Подскажите пожалуйста, как подправить код, что бы можно было запретить вывод на печать не один лист, а (в моём случае) четырёх листов идущих не подряд.

Автор - DrMini
Дата добавления - 05.04.2023 в 09:12
_Boroda_ Дата: Среда, 05.04.2023, 09:24 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Файл скачать не могу, блокировка макросов. Так нарисовал
[vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Set slov = CreateObject("Scripting.Dictionary") 'объявляем словарь
    With slov 'Для него
        For Each NoPr In Array("Лист1", "Лист3", "Лист5") 'бегаем по массиву
            aaa = .Item(NoPr) 'заполняем словарь ключами
        Next NoPr
        For Each xWs In Application.ActiveWorkbook.Windows(1).SelectedSheets
            If .exists(xWs.Name) Then ' если есть в словаре
                MsgBox "Лист " & xWs.Name & " печатать нельзя"
                Cancel = True
            End If
        Next
    End With
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеФайл скачать не могу, блокировка макросов. Так нарисовал
[vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Set slov = CreateObject("Scripting.Dictionary") 'объявляем словарь
    With slov 'Для него
        For Each NoPr In Array("Лист1", "Лист3", "Лист5") 'бегаем по массиву
            aaa = .Item(NoPr) 'заполняем словарь ключами
        Next NoPr
        For Each xWs In Application.ActiveWorkbook.Windows(1).SelectedSheets
            If .exists(xWs.Name) Then ' если есть в словаре
                MsgBox "Лист " & xWs.Name & " печатать нельзя"
                Cancel = True
            End If
        Next
    End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 05.04.2023 в 09:24
DrMini Дата: Среда, 05.04.2023, 09:39 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1647
Репутация: 208 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Выдаёт ошибку:

К сообщению приложен файл: 1988449.jpg (6.1 Kb) · 5722205.jpg (25.5 Kb)
 
Ответить
СообщениеВыдаёт ошибку:


Автор - DrMini
Дата добавления - 05.04.2023 в 09:39
_Boroda_ Дата: Среда, 05.04.2023, 09:46 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Букву не дописал. Не xW, а xWs
В коде выше поправил


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеБукву не дописал. Не xW, а xWs
В коде выше поправил

Автор - _Boroda_
Дата добавления - 05.04.2023 в 09:46
DrMini Дата: Среда, 05.04.2023, 09:55 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1647
Репутация: 208 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
_Александр_, большое Вам спасибо.
Всё работает.


Сообщение отредактировал DrMini - Среда, 05.04.2023, 09:56
 
Ответить
Сообщение_Александр_, большое Вам спасибо.
Всё работает.

Автор - DrMini
Дата добавления - 05.04.2023 в 09:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запрет печати нескольких листов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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