Представляю один из вариантов программы, которую я использовал в 2006 году для подготовки билетов по различным предметам.
Мне приносили билеты, оформленные в Word. Обычно я сразу просил пронумеровать вопросы и привязать их к билетам. Вопросы копировались в подготовленный стандартный файл с макросами на соответствующую страницу файла.
Сначала я старался, чтобы макросы присутствовали лишь в одной книге, но потом перестал следить за этим. По этой причине я предлагаю один из возможных вариантов подготовки и печати билетов.
Макросы необходимо запускать в Excel 2003 ручками, вызывая сначала формирование билетов через auto (часто я использовал и имя start), а затем можно печатать сформированные билеты, вызывая соответствующий макрос. В последнее время я чаще использую автозапуск, так как стараюсь вызывать нужные мне программы или макросы через кнопки, создаваемые в меню.
Основная часть билетов формируется на основе данных шаблона. В момент формирования билетов старые билеты и вопросы удаляются и заменяются на новые. Появление нескольких страниц с вопросами связано с дополнительной проверкой вопросов на ошибки и их дополнительной визуальной проверкой на соответствие подготовленных вопросов билетам. Часть полей, вызываемых для заполнения вроде бы не используются, но это легко правится.
Впервые с автоматизированной подготовкой билетов я познакомился в МАМИ на заре развития ЭВМ. Мне тогда понравился используемый ими вариант, позволяющий наложить текстовую часть билетов на шаблон с графикой. Я делал же всё под себя. Графики у нас в билетах не было. Печатать билеты можно как выборочно, так и потоком, просматривая билеты на экране или выводя их на принтер. Печатать можно было и через Word, но я предпочел всё делать в Excel.
Я рассматриваю все свои программы не как пособие для асов программирования, а как, прежде всего, пособие для обучения. Я проработал 4 года учителем физики, математики и астрономии, а затем ряд лет преподавал информатику и связанные с этим дисциплины, вел лабораторные работы на Фортране, преподавал вычислительную математику. Всегда при программировании для себя подспудно я придерживался этой цели,- обучать. Надеюсь, что что-нибудь и кому-нибудь из предложенного пригодится.