Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2015, 18:28   #1
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию Отправить на печать из формы

Привет всем!
При создании формы, столкнулся с некоторыми проблемами.
На рисунке ниже - форма печати билетов для цирка. Бюджет заказчика (как и сроки выполнения заказа) сильно ограничены, поэтому решил тупо набросать в VBA, ..но споткнулся на организации печати. Просьба, разъяснить такие нюансы:

1. Как отправить на печать лист-Excel, кнопкой на форме "Печать:";
2. Как прописать активные принтеры системы, в ComboBox;
3. Как сохранить формат ввода в поле "Серия:", чтоб он отображался так-же (вместе с нулями впереди), в поле "Серия следующей партии:", которое вычисляется по формуле:
[Серия + Печатать билетов (шт) + 1].
Любые математические действия со значением поля "Серия:", отсекают передние нули. Буду премного благодарен!
Изображения
Тип файла: png tickets.png (21.8 Кб, 100 просмотров)
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 29.03.2015, 06:10   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
1. Как отправить на печать лист-Excel, кнопкой на форме "Печать:";
очень просто:
Код:
Worksheets("имя листа").PrintOut

Цитата:
2. Как прописать активные принтеры системы
Получение списка доступных принтеров средствами VB (VBA)


Цитата:
Как сохранить формат ввода в поле "Серия:"
после изменения значения поля, приводите его к нужному виду:
Код:
if TextBox1.text <> format(TextBox1.text,"0000000") then TextBox1.text = format(TextBox1.text,"0000000")

Цитата:
Любые математические действия со значением поля "Серия:", отсекают передние нули
отсекли нули - сложили - восстановили нули:
Код:
TextBox2.text = format(VAL(TextBox1.text) + 1,"0000000")

PS: Расскажите, пожалуйста, как вы реализовали такой предпросмотр на форме?
Выглядит красиво, - а как сделано, не могу понять
EducatedFool вне форума Ответить с цитированием
Старый 29.03.2015, 14:27   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

EducatedFool, спасибо! Плюс один ушёл в Вашу копилку.
..а задумка была такая:

1. Создаю в фотошопе пустой бланк (без вводимых значений)
2. Отвожу по 10 листов на партию печати (8 бланков на листе = 80 билетов партия)
3. В ячейки каждого бланка на листе, прописываю предыдущее значение + 1
4. Кидаю на форму копию бланка, и дублирую поля "TextBox" формы, в "Label" бланка.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как текстовый файл отправить на печать orazz WPF, UWP, WinRT, XAML 0 25.04.2014 21:54
Отправить НА ПЕЧАТЬ ПРИНТЕРУ значение из консоли _Lenn C# (си шарп) 1 20.11.2013 04:57
Программно отправить данные формы на сайт kockas Помощь студентам 1 29.05.2013 21:50
Как отправить содержимое Image1 на печать? KarlMarks Помощь студентам 0 02.12.2011 14:42
Отправить на принтер содержимое формы betirsolt Общие вопросы Delphi 0 04.07.2010 03:01