Страницы: 1
RSS
Вывод на печать содержимого msgbox
 
Есть msgbox в котором генерируется определённая информация. Надо что бы при нажатии в нём ОК  он спрашивал распечатать ли содержимое или нет?  
Это возможно? Спасибо
 
Где-то дома есть пример CustomMsgBox - там можно по желанию кнопки выводить/обзывать.  
Но кода сравнительно много.  
В данном случае думаю проще вместо месиджбокса свою форму нарисовать с свим функционалом.  
Ну а про печать я уже предложил вариант - создаём книгу с одним листом, закидывем туда данные, посылаем.  
Как проще - не знаю.
 
ну у тебя идет первый msgbox с каким-то сообщением, человек жмет ОК,  
вылетает второй бокс с вопросом о печати , и выбор да/нет.  
так не проще?
 
После этого (первого) MsgBox пишем так:  
if MsgBox("Вывести на печать?",vbYesNo) = vbyes Then ... Тут вывод на печать
 
Можно конечно так (тогда уж сразу в первом vbYesNo, чтоб всегда два раза не нажимать), но я бы лучше сделал свою форму с понятными надписями на кнопках -    
ОК/Печатать.  
 
Ну а как печатать - есть ещё варианты?  
 
 
-=88088=-
 
Забыл про CustomMsgBox -    
это KL давал:  
http://www.planetaexcel.ru/docs/forum_upload/post_156039.xls  
тут:  
http://www.planetaexcel.ru/forum.php?thread_id=19266
 
{quote}{login=Hugo}{date=27.10.2011 08:54}{thema=}{post}тогда уж сразу в первом vbYesNo, чтоб всегда два раза не нажимать{/post}{/quote}Игорь, так ведь в первый выводится какая-то информация. Значит её нужно сначала увидеть :-) А содержимое сбрасывать на скрытый лист, который можно печатать.
 
Ну я понял, не дурак :)  
Просто сразу в первом жмём ОК - значит печатаем, или Отмена - значит не печатаем.  
Главное не перепутать, ибо надписи не изменить :)
 
Я склоняюсь к UserForm.
 
Типа так:  
 
 
Sub tt()  
If MsgBox("Это текст выше печатать?", vbExclamation + vbYesNo) <> vbYes Then Exit Sub  
'код печати  
End Sub
 
Вот код (автор не я), первый вызывается по кнопке с формы, второй вызывается уже самим кодом из первого. А куда вставлять про печчать? или как можно скопировать содержимое бокса на какой нибудь лист?  
 
 
Private Sub CommandButton10_Click()  
   Dim r As Range  
   With Worksheets("Отчёт Детализированный")  
       Set r = Intersect(.Range(.[A4], .[A10000].End(xlUp)), .UsedRange).Offset(0, 12)
       msg = "По признаку ГОРОД ошибки в строках:"  
       Call ChekErr(r, [ГородаПроверка])
       MsgBox msg  
   End With  
End Sub  
 
 
Private Sub ChekErr(inRange As Range, ChekRange As Range)  
   Dim i, r As Range  
   On Error Resume Next  
   For Each r In inRange  
       i = Application.WorksheetFunction.Match(r.Value, ChekRange, 0)  
       If Err.Number <> 0 Then  
           Err.Clear  
           msg = msg & vbCrLf & r.Row & " СТРОКА " & " ГОРОД: " & ThisWorkbook.Worksheets("Отчёт Детализированный").Range("A1").Offset(r.Row - 2, 12) & " ИНСПЕКТОР: " & ThisWorkbook.Worksheets("Отчёт Детализированный").Range("A1").Offset(r.Row - 2, 13) & " ПОЛЬЗОВАТЕЛЬ: " & ThisWorkbook.Worksheets("Отчёт Детализированный").Range("A1").Offset(r.Row - 2, 17)  
       End If  
   Next r  
End Sub
 
{quote}{login=Hugo}{date=27.10.2011 09:43}{thema=}{post}Типа так:  
 
 
Sub tt()  
If MsgBox("Это текст выше печатать?", vbExclamation + vbYesNo) <> vbYes Then Exit Sub  
'код печати  
End Sub{/post}{/quote}  
 
 
Запарка как раз в этом коде печати. Как написать что бы печатал именно из формы?
 
А кто это всё время спрашивает?
 
Виноват))))))) Я думал один раз залогинился и всё как на других форумах))
 
Паша.  
Посмотрите сделал черновой вариант вывода на печать ошибок, в своем старом варианте. Может подойдет.
Редко но метко ...
 
{quote}{login=}{date=28.10.2011 11:47}{thema=Re: }{post}{quote}{login=Hugo}{date=27.10.2011 09:43}{thema=}{post}{/post}{/quote}Запарка как раз в этом коде печати. Как написать что бы печатал именно из формы?{/post}{/quote}То Вы про MsgBox, теперь про форму... Если форму, то: UserForm1.PrintForm
 
{quote}{login=GIG_ant}{date=28.10.2011 12:20}{thema=}{post}Паша.  
Посмотрите сделал черновой вариант вывода на печать ошибок, в своем старом варианте. Может подойдет.{/post}{/quote}  
 
Модуль1 можно удалить )
Редко но метко ...
 
Офигеть где Вы этому научились если не секрет?  
Работает великолепно
 
{quote}{login=Паша}{date=28.10.2011 01:17}{thema=}{post}Офигеть где Вы этому научились если не секрет?  
{/post}{/quote}  
 
Если вы у меня спрашиваете, то никакого секрета нет: Книги, Справка, Форум.  
Решайте больше практических задач, и ваши знания (при определенном терпении и настойчивости) увеличатся многократно ).
Редко но метко ...
 
Благодарю Вас за огромную помощь!!!  
Ну я стараюсь изучать всё разбирать примеры, но я в Вашем коде ни одного слова не понял)) Совершенно другой уровень.
Страницы: 1
Читают тему
Наверх