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

Вход

Регистрация

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

 

= Мир MS Excel/Печать выбранных страниц - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Печать выбранных страниц (Макросы/Sub)
Печать выбранных страниц
Otter Дата: Воскресенье, 22.09.2019, 11:05 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 172
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016, Word 2016
Всем Форумчанам, здравствуйте.
При запуске код запрашивает первую и последнюю страницы печати.
Вот готовый код, взят как есть. Что смог сам подправил и теперь осталось чего не могу.
Код не работает на трех выделенных строках выдает ошибку 424.
Помогите пожалуйста, доработать.
[vba]
Код

Sub printCustomSelection()
Dim startpage As Integer
Dim endpage As Integer
startpage = InputBox("Please Enter Start Page number.", "Enter Value")
[b]If Not WorksheetFunction.IsNumber(startpage) Then[/b]
MsgBox "Invalid Start Page number. Please try again.", "Error"
Exit Sub
End If
endpage = InputBox("Please Enter End Page number.", "Enter Value")
[b]If Not WorksheetFunction.IsNumber(endpage) Then[/b]
MsgBox "Invalid End Page number. Please try again.", "Error"
Exit Sub
End If
[b]Worksheets.PrintOut From:=startpage, To:=endpage, _
Copies:=1, Collate:=True[/b]
End Sub
[/vba]
 
Ответить
СообщениеВсем Форумчанам, здравствуйте.
При запуске код запрашивает первую и последнюю страницы печати.
Вот готовый код, взят как есть. Что смог сам подправил и теперь осталось чего не могу.
Код не работает на трех выделенных строках выдает ошибку 424.
Помогите пожалуйста, доработать.
[vba]
Код

Sub printCustomSelection()
Dim startpage As Integer
Dim endpage As Integer
startpage = InputBox("Please Enter Start Page number.", "Enter Value")
[b]If Not WorksheetFunction.IsNumber(startpage) Then[/b]
MsgBox "Invalid Start Page number. Please try again.", "Error"
Exit Sub
End If
endpage = InputBox("Please Enter End Page number.", "Enter Value")
[b]If Not WorksheetFunction.IsNumber(endpage) Then[/b]
MsgBox "Invalid End Page number. Please try again.", "Error"
Exit Sub
End If
[b]Worksheets.PrintOut From:=startpage, To:=endpage, _
Copies:=1, Collate:=True[/b]
End Sub
[/vba]

Автор - Otter
Дата добавления - 22.09.2019 в 11:05
Otter Дата: Воскресенье, 22.09.2019, 11:09 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 172
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016, Word 2016
Код не работает на трех выделенных строках

Хотел выделить жирным, но не получилось. Думаю Вы понимаете что я имел ввиду. Указанные строки под [b]
 
Ответить
Сообщение
Код не работает на трех выделенных строках

Хотел выделить жирным, но не получилось. Думаю Вы понимаете что я имел ввиду. Указанные строки под [b]

Автор - Otter
Дата добавления - 22.09.2019 в 11:09
Pelena Дата: Воскресенье, 22.09.2019, 11:12 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 14585
Репутация: 3196 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
У меня не выдаёт ошибок


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеУ меня не выдаёт ошибок

Автор - Pelena
Дата добавления - 22.09.2019 в 11:12
Otter Дата: Воскресенье, 22.09.2019, 11:17 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 172
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016, Word 2016
У меня не выдаёт ошибок
Может дело в Word 2016 или Win 7 SP1. Приложил файл на всякий случай может это что даст понять причину.
К сообщению приложен файл: 59.docm(22.3 Kb)


Сообщение отредактировал Otter - Воскресенье, 22.09.2019, 11:29
 
Ответить
Сообщение
У меня не выдаёт ошибок
Может дело в Word 2016 или Win 7 SP1. Приложил файл на всякий случай может это что даст понять причину.

Автор - Otter
Дата добавления - 22.09.2019 в 11:17
RAN Дата: Воскресенье, 22.09.2019, 11:40 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5154
Репутация: 1028 ±
Замечаний: 0% ±

2010
Приложил файл на всякий случай может это что даст

Конечно даст. Даже не глядя.
Атомная станция на угле не работает
А почему Word должен работать с функциями Excel?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Приложил файл на всякий случай может это что даст

Конечно даст. Даже не глядя.
Атомная станция на угле не работает
А почему Word должен работать с функциями Excel?

Автор - RAN
Дата добавления - 22.09.2019 в 11:40
Otter Дата: Воскресенье, 22.09.2019, 11:53 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 172
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016, Word 2016
А почему Word должен работать с функциями Excel?

Так вот в чем причина ошибок <_< . Ну тогда помогите изменить код для Word?
Еще хочется чтобы после выбора страниц для печати чтобы появлялась форма где в выбирается из доступных принтер на котором печатать.


Сообщение отредактировал Otter - Воскресенье, 22.09.2019, 12:10
 
Ответить
Сообщение
А почему Word должен работать с функциями Excel?

Так вот в чем причина ошибок <_< . Ну тогда помогите изменить код для Word?
Еще хочется чтобы после выбора страниц для печати чтобы появлялась форма где в выбирается из доступных принтер на котором печатать.

Автор - Otter
Дата добавления - 22.09.2019 в 11:53
RAN Дата: Воскресенье, 22.09.2019, 12:11 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5154
Репутация: 1028 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеhttps://yandex.ru/yandsea....E&lr=47

Автор - RAN
Дата добавления - 22.09.2019 в 12:11
Otter Дата: Воскресенье, 22.09.2019, 13:50 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 172
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016, Word 2016
RAN, Спасибо за подсказку, но там 99% для Excel. И мне непонятна разница функций Excel и Word. Помогите заставить код работать в Word. :'(
 
Ответить
СообщениеRAN, Спасибо за подсказку, но там 99% для Excel. И мне непонятна разница функций Excel и Word. Помогите заставить код работать в Word. :'(

Автор - Otter
Дата добавления - 22.09.2019 в 13:50
RAN Дата: Воскресенье, 22.09.2019, 13:56 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5154
Репутация: 1028 ±
Замечаний: 0% ±

2010
Что не понятно?
WorksheetFunction.IsNumber - функция рабочего листа Excel
IsNumeric - функция VBA.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЧто не понятно?
WorksheetFunction.IsNumber - функция рабочего листа Excel
IsNumeric - функция VBA.

Автор - RAN
Дата добавления - 22.09.2019 в 13:56
Otter Дата: Воскресенье, 22.09.2019, 17:17 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 172
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016, Word 2016
Вместо этого: [vba]
Код
Worksheets.PrintOut From:=startpage, To:=endpage, _
Copies:=1, Collate:=True
[/vba]
Пробую применить для Word:
[vba]
Код
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
    wdPrintDocumentWithMarkup, Copies:=1, Pages:="startpage-endpage", PageType:= _
    wdPrintAllPages, Collate:=True.
[/vba]
Это код после пробной записи печати макрорекодерм.
Выдает ошибку Указан неверно диапазон печати Ошибка 5141.
Тут много лишнего мусора да еще не видит переменные данные.
 
Ответить
СообщениеВместо этого: [vba]
Код
Worksheets.PrintOut From:=startpage, To:=endpage, _
Copies:=1, Collate:=True
[/vba]
Пробую применить для Word:
[vba]
Код
    Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
    wdPrintDocumentWithMarkup, Copies:=1, Pages:="startpage-endpage", PageType:= _
    wdPrintAllPages, Collate:=True.
[/vba]
Это код после пробной записи печати макрорекодерм.
Выдает ошибку Указан неверно диапазон печати Ошибка 5141.
Тут много лишнего мусора да еще не видит переменные данные.

Автор - Otter
Дата добавления - 22.09.2019 в 17:17
RAN Дата: Воскресенье, 22.09.2019, 18:20 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5154
Репутация: 1028 ±
Замечаний: 0% ±

2010
Смею заверить, что это
[vba]
Код
Worksheets.PrintOut From:="startpage", To:="endpage"
[/vba]
в Excel работать тоже не будет


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеСмею заверить, что это
[vba]
Код
Worksheets.PrintOut From:="startpage", To:="endpage"
[/vba]
в Excel работать тоже не будет

Автор - RAN
Дата добавления - 22.09.2019 в 18:20
Otter Дата: Воскресенье, 22.09.2019, 19:09 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 172
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016, Word 2016
Worksheets.PrintOut From:="startpage", To:="endpage"
Согласен, что кавычки не нужны. Если написать так:[vba]
Код
Pages:=startpage-endpage
[/vba] тогда ошибка 13

А в коде макрорекодера [vba]
Код
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
    wdPrintDocumentWithMarkup, Copies:=1, Pages:=startpage-endpage, PageType:= _
    wdPrintAllPages, Collate:=True.
[/vba] неужели все нужно и его нельзя минимизировать (уменьшить) для отправки на печать заданного диапазона страниц?

А проверку стартовой страницы [vba]
Код
If Not WorksheetFunction.IsNumber(startpage)
[/vba] как сделать для Word чтобы работало


Сообщение отредактировал Otter - Воскресенье, 22.09.2019, 19:32
 
Ответить
Сообщение
Worksheets.PrintOut From:="startpage", To:="endpage"
Согласен, что кавычки не нужны. Если написать так:[vba]
Код
Pages:=startpage-endpage
[/vba] тогда ошибка 13

А в коде макрорекодера [vba]
Код
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
    wdPrintDocumentWithMarkup, Copies:=1, Pages:=startpage-endpage, PageType:= _
    wdPrintAllPages, Collate:=True.
[/vba] неужели все нужно и его нельзя минимизировать (уменьшить) для отправки на печать заданного диапазона страниц?

А проверку стартовой страницы [vba]
Код
If Not WorksheetFunction.IsNumber(startpage)
[/vba] как сделать для Word чтобы работало

Автор - Otter
Дата добавления - 22.09.2019 в 19:09
Otter Дата: Воскресенье, 22.09.2019, 21:36 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 172
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016, Word 2016
А проверку стартовой страницы
If Not WorksheetFunction.IsNumber(startpage)
Проверка не требуется так как переменная, имеющая тип Integer не может не быть числом

Для работы в Word вместо Pages:=startpage-endpage надо применить
Pages:=startpage & "-" & endpage тогда все норм будет.

Остался последний вопрос минимизировать код
[vba]
Код
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
    wdPrintDocumentWithMarkup, Copies:=1, Pages:=startpage & "-" & endpage, PageType:= _
    wdPrintAllPages, Collate:=True.
[/vba]
 
Ответить
Сообщение
А проверку стартовой страницы
If Not WorksheetFunction.IsNumber(startpage)
Проверка не требуется так как переменная, имеющая тип Integer не может не быть числом

Для работы в Word вместо Pages:=startpage-endpage надо применить
Pages:=startpage & "-" & endpage тогда все норм будет.

Остался последний вопрос минимизировать код
[vba]
Код
Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
    wdPrintDocumentWithMarkup, Copies:=1, Pages:=startpage & "-" & endpage, PageType:= _
    wdPrintAllPages, Collate:=True.
[/vba]

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

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