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

Вход

Регистрация

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

 

= Мир MS Excel/Распечатать текст сообщения MsgBox - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Распечатать текст сообщения MsgBox (Макросы/Sub)
Распечатать текст сообщения MsgBox
sashgera Дата: Четверг, 23.06.2016, 22:21 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте
Чтобы распечатать сообщение в MsgBox, я его копирую комбинацией Ctrl+C, вставляю в какой нибудь документ и потом распечатываю.
Пожалуйста, подскажите, как можно сделать в message box кнопку 'Печать', по нажатию которой распечатать текст сообщения?
 
Ответить
СообщениеЗдравствуйте
Чтобы распечатать сообщение в MsgBox, я его копирую комбинацией Ctrl+C, вставляю в какой нибудь документ и потом распечатываю.
Пожалуйста, подскажите, как можно сделать в message box кнопку 'Печать', по нажатию которой распечатать текст сообщения?

Автор - sashgera
Дата добавления - 23.06.2016 в 22:21
RAN Дата: Четверг, 23.06.2016, 22:26 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
В MsgBox никакую кнопку сделать нельзя.
Поэтому, начните с хотелки, а не с того, как вы свою хотелку реализовать пытаетесь.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВ MsgBox никакую кнопку сделать нельзя.
Поэтому, начните с хотелки, а не с того, как вы свою хотелку реализовать пытаетесь.

Автор - RAN
Дата добавления - 23.06.2016 в 22:26
sashgera Дата: Четверг, 23.06.2016, 23:07 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
В MsgBox никакую кнопку сделать нельзя.

ну какую нибудь кнопку показать можно, например, vbOKOnly, про кнопку Печать понял - нельзя
а по нажатию этой копки (OK) можно распечатать текст сообщения?
 
Ответить
Сообщение
В MsgBox никакую кнопку сделать нельзя.

ну какую нибудь кнопку показать можно, например, vbOKOnly, про кнопку Печать понял - нельзя
а по нажатию этой копки (OK) можно распечатать текст сообщения?

Автор - sashgera
Дата добавления - 23.06.2016 в 23:07
krosav4ig Дата: Пятница, 24.06.2016, 02:15 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1342
Репутация: 536 ±
Замечаний: 0% ±

Excel 2007, 2013
можно как-то так

использование в коде [vba]
Код
call PrintStr("Текст который нужно печатать","Имя принтера")
[/vba]
Второй аргумент не обязателен, если его не указывать, будет печататься на активный принтер
[vba]
Код
Sub dd()
    Dim s$
    s = "Текст"
    If MsgBox(s, 4, "Печатать?") = vbYes Then PrintStr s
End Sub
[/vba]
К сообщению приложен файл: PrintStr.xlsm(22Kb)


(_)Õvõ(_)
 
Ответить
Сообщениеможно как-то так

использование в коде [vba]
Код
call PrintStr("Текст который нужно печатать","Имя принтера")
[/vba]
Второй аргумент не обязателен, если его не указывать, будет печататься на активный принтер
[vba]
Код
Sub dd()
    Dim s$
    s = "Текст"
    If MsgBox(s, 4, "Печатать?") = vbYes Then PrintStr s
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 24.06.2016 в 02:15
_Boroda_ Дата: Пятница, 24.06.2016, 02:37 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3923 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ой! Какой кошмар!
У меня более рабоче-крестьянский способ, аж стыдно стало
[vba]
Код
Sub dd()
    s = "Текст"
    If MsgBox(s, 4, "Печатать?") = 6 Then
        ad_ = Selection.Address
        With Range("A1").SpecialCells(xlLastCell).Offset(1)
            .Value = s
            .PrintOut
            .Clear
        End With
        Range(ad_).Select
    End If
End Sub
[/vba]
К сообщению приложен файл: 65465465.xlsm(16Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеОй! Какой кошмар!
У меня более рабоче-крестьянский способ, аж стыдно стало
[vba]
Код
Sub dd()
    s = "Текст"
    If MsgBox(s, 4, "Печатать?") = 6 Then
        ad_ = Selection.Address
        With Range("A1").SpecialCells(xlLastCell).Offset(1)
            .Value = s
            .PrintOut
            .Clear
        End With
        Range(ad_).Select
    End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 24.06.2016 в 02:37
krosav4ig Дата: Пятница, 24.06.2016, 03:56 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1342
Репутация: 536 ±
Замечаний: 0% ±

Excel 2007, 2013
Ой! Какой кошмар!

Этнияоносамо :)


(_)Õvõ(_)
 
Ответить
Сообщение
Ой! Какой кошмар!

Этнияоносамо :)

Автор - krosav4ig
Дата добавления - 24.06.2016 в 03:56
sashgera Дата: Пятница, 24.06.2016, 08:53 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
krosav4ig, _Boroda_, спасибо, оба варианта работают. А как показать окно Печать, в котором можно выбрать нужный принтер?
 
Ответить
Сообщениеkrosav4ig, _Boroda_, спасибо, оба варианта работают. А как показать окно Печать, в котором можно выбрать нужный принтер?

Автор - sashgera
Дата добавления - 24.06.2016 в 08:53
SLAVICK Дата: Пятница, 24.06.2016, 09:43 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 1834
Репутация: 613 ±
Замечаний: 0% ±

2007,2010,2013,2016
А как показать окно Печать, в котором можно выбрать нужный принтер?

Почитайте тут


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

Почитайте тут

Автор - SLAVICK
Дата добавления - 24.06.2016 в 09:43
krosav4ig Дата: Воскресенье, 26.06.2016, 15:07 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1342
Репутация: 536 ±
Замечаний: 0% ±

Excel 2007, 2013
или тут


(_)Õvõ(_)
 
Ответить
Сообщениеили тут

Автор - krosav4ig
Дата добавления - 26.06.2016 в 15:07
Alex_ST Дата: Понедельник, 27.06.2016, 11:13 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2883
Репутация: 504 ±
Замечаний: 0% ±

2003
Если сам пишешь код, но не знаешь, понадобится ли в дальнейшем то, что выдал MsgBox, то можно тупо после вывода каждого MsgBox закидывать его текст в буфер обмена, а там уж понадобится/не понадобится.
На скорую руку примерно так:
[vba]
Код
Sub ttt()
   Dim sText$: sText = "Text MsgBox"
   MsgBox (sText)
   With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText sText: .PutInClipboard: End With
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЕсли сам пишешь код, но не знаешь, понадобится ли в дальнейшем то, что выдал MsgBox, то можно тупо после вывода каждого MsgBox закидывать его текст в буфер обмена, а там уж понадобится/не понадобится.
На скорую руку примерно так:
[vba]
Код
Sub ttt()
   Dim sText$: sText = "Text MsgBox"
   MsgBox (sText)
   With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText sText: .PutInClipboard: End With
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 27.06.2016 в 11:13
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Распечатать текст сообщения MsgBox (Макросы/Sub)
Страница 1 из 11
Поиск:

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