Как настроить печать конвертов в экселе

Обновлено: 05.07.2024

Репутация: нет
Всего: нет

Помогите (рационально) решить задачу:

Дана таблица со столбцами

где каждая строка отдельная организация.

Цель: пропечатать надписи для бумажных конвертов (адреса) в формате

для отправки в указанные в таблице организации.

Как вариант сформировать отдельный лист/файл с отформатированными прямоугольниками (с адресами) которые потом вырежут и наклеют на конверты.

По сути проблема не только в самой выборке скорее в формировании надписи для конвертов. Если печатать прямо на конвертах, то
единственное, что приходит в голову это написать макрос обходящий строки, выбирающий нужные для адреса ячейки и формирующий (и запускающий) задание для печати на очередной конверт. Причём надпись на конверте должна быть определённым образом отформатирована (не в одну строчку, выделение и тд.)

Смотрел в сторону сводных таблиц и других команд из меню Данные, но так ничего толкового не вышло, может плохо смотрел?

Мне легче впасть в детство и вспомнить BASIC чем погружаться в VB
Может в OOo это можно решить проще, там хоть знакомый мне Python, а?

Советы очень даже приветствуются!

Репутация: 1
Всего: 15

Такая идея:
1. Выделяем первые три столбца (Название, адрес, имя), жмем "копировать"
2. Переходим на чистый лист, жмем "специальная вставка", в появившемся окне ставим галочку "Транспонировать"
Имеем: в первой строке - адреса, во второй - названия, в третьей - имена.
Форматируем каждую строку как требуется, при желании поменять строки местами можно выделить строку, навести курсор на границу выделения, зажать левую кнопку и перетащить куда надо. После этого ставим ширину всех столбцов такую, чтобы на каждый лист влезал только 1 столбец, задаем параметры печати, жмем "печать" - и из принтера вылезают листочки, на каждом из которых по три требуемых строки.
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.

Репутация: 1
Всего: 3

Цитата

Мне легче впасть в детство и вспомнить BASIC чем погружаться в VB

А погружаться и не придется! В VBA - это 10-20 строчек кода из простейших команд. Синтаксис элементарный + удобство программирования неимоверное.
Создашь удобную форму или лист экселевский под конверт подгонишь. Потом для миллиона заданных строчек заполняем форму (лист) этими тремя значениями и печатаем его.
Имхо, если немного программить умеешь - делай так! Стандартными средствами Экселя ты себе только немного поможешь, причем время потратишь много и нервов! А с помощью VBA(VB) - полностью автоматизируешь поставленную задачу и научишься решать др. подобные! Удивишь коллег!

Ведь праздничный торт можно разрезать и лапатой, но удобнее - ножем! Вот твоя задача - это торт, а VBA - элегантный нож!

Кстати современные принтеры легко и на конвертах типовых печатают.

"Как вы яхту назовете - так она и поплывет!"
Капитан Врунгель

Репутация: 15
Всего: 17

Что-то я не пойму. Зачем изобретать велосипед, если есть стандартная возможность Word - слияние документов (Mail Merge). Максимум 5 мин займет, без всякого программирования.

Репутация: нет
Всего: 130

Репутация: 5
Всего: 109

Подобная тема уже была в форуме!

Цитата

Запуск процедуры слияния
Чтобы начать процедуру слияния, выполните следующие действия.

Запустите программу Word.
По умолчанию открывается пустой документ. Не закрывайте его, иначе вам не удастся выполнить следующий этап.

В меню Сервис выберите команду Письма и рассылки, а затем — команду Слияние.
Примечание. В программе Word 2002 в меню Сервис выберите Письма и рассылки, а затем Мастер слияния.
Откроется область задач Слияние. Для навигации при выполнении слияния используются гиперссылки в области задач.

user posted image

Программистами не рождаются, - это родовая травма.

Репутация: 15
Всего: 17

Ага, mihanik - хорошо, что ссылку дали - с ней понятнее будет.
От себя могу только сказать, что если данные в Excel, то и нужно их оставить в Excel. Word сам подключится в списку данных и выполнит слияние документов.

Лень - мать прогресса.

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"

Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

[ Время генерации скрипта: 0.1107 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Сегодня, автор Эрик Паттерсон (Eric Patterson), Program Manager команды Excel, описывает, как использовать таблицы Excel в качестве источника для слияния. Это инструмент позволяющий повысить производительность при отправки поздравительных открыток! :) Эрик писал это до праздников, но, к сожалению, я был вне офиса, и получил этот пост только сейчас. Все равно это будет полезно.


В это время года я занимаюсь подготовкой к отправке поздравительных открыток своим друзьям и семье. Мне приходится делать это в большом количестве. Я храню большинство моих адресов в Excel в виде таблицы - Имя, Фамилия, Адрес, Город, Штат и Почтовый индекс. Книги выглядит так:

Возможно вы, как и я, не держите свой список адресов в актуальном состоянии, и не часто печатаете конверты. У меня есть ряд адресов, которые я помню, но существуют другие, которые мне нужно перепроверить, прежде чем печатать их. Учитывая сколько всего мне нужно будет сделать при подготовке к праздникам я хочу начать это делать уже сейчас.

Создание таблицы

  • Выберите ячейку в пределах диапазона, содержащего адреса, например ячейку B2.
  • На закладке Insert кликните кнопку Table
  • Появится диалог с просьбой указать диапазон ячеек, содержащие адреса, и заголовок вашей таблицы. Убедитесь, что все правильно, и нажмите кнопку ОК.
  • К диапазону ячеек теперь будет применен стиль таблицы и появится выпадающее меню в верхней части каждой колонки, которые предоставляют возможность сортировки и фильтрации.


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

  • Чтобы определить имя, нажмите кнопку "Define Name" на закладке Formula.
  • В диалоговом окне New Name введите имя Addresses и диапазон ячеек ваших адресов (B$2:$G$15 в данном случае)



Сверка адресов
После того как моя Таблица создана, и ей присвоено имя, я начинаю перебирать адреса, чтобы подтвердить, какие из них являются правильными. Для этого я добавляю новую колонку в таблицу этого года. Просто наберите 2008 в ячейке H2. Таблица и имя, которое мы определили будет расширяться автоматически. Если у вас есть новые колонки, то можете что-то вписать в колонке чтобы указать, является ли адрес правильный. Я использовал "Y" в моем списке.

Сортировка списка
Далее я хочу разделить таблицу на 2 части, одна для подтвержденных адресов и одна для тех, которые нуждаются в обновлении.

  • Щелкните на выпадающем списке в колонке 2008



Отсортированная таблица выглядит следующим образом:

Разделение таблиц
Описанные выше действия создали книгу, которая содержит таблицу. Таблица называется (Addresses). Это имя присвоенное диапазону ячеек. Осталось показать, как осуществить слияние (merge) в Word для создания конвертов.


  • Выберите соответствующий размер конверта и нажмите кнопку ОК
  • Выберите Use Existing List из выпадающего списка Select Recipients


  • Выберите свой файла адресов в диалоговом окне Select Data Source и нажмите кнопку Open


  • Выберите Defined Name, "Addresses" в диалоговом окне Select Table и нажмите кнопку ОК



Документ Word теперь подключен к таблице в Excel.


Добавление адресных блоков и предварительный просмотр
Далее вы можете добавить адресный блок на ваш конверт и просмотреть результат.

  • На вкладке Mailings нажмите Address Block , чтобы добавить блок адресов
  • Расположите блок адресов, где хотите на конверте, добавив возврат каретки, выравнивание по центру и т.д.
  • Для предварительного просмотра того, как все будет выглядеть, нажмите " Preview Results ".
  • Вы также можете использовать другие команды в окне предварительного просмотра Preview Results для поиска получателей или перемещаться по адресам.
  • Если все выглядит хорошо, вы можете нажать на выпадающий список Finish & Merge для печати конвертов.
  • В диалоговом окне Merge to Printer я советую начинать с текущей записи (выбрать Current record), чтобы убедиться, что ваш конверт спозиционирован правильно.


Подсказка: обрежьте обычный лист бумаги под размер конверта и введите маркировку для отображения местоположения, а затем используйте его в течение нескольких тестовых прогонах.

Когда вы добьетесь правильной печати, вы можете сказать распечатать наборы из 10 конвертов, учитывая время печати принтера, с помощью ввода From __ To: __ в диалоге Merge to Printer.

Репутация: нет
Всего: нет

Помогите (рационально) решить задачу:

Дана таблица со столбцами

где каждая строка отдельная организация.

Цель: пропечатать надписи для бумажных конвертов (адреса) в формате

для отправки в указанные в таблице организации.

Как вариант сформировать отдельный лист/файл с отформатированными прямоугольниками (с адресами) которые потом вырежут и наклеют на конверты.

По сути проблема не только в самой выборке скорее в формировании надписи для конвертов. Если печатать прямо на конвертах, то
единственное, что приходит в голову это написать макрос обходящий строки, выбирающий нужные для адреса ячейки и формирующий (и запускающий) задание для печати на очередной конверт. Причём надпись на конверте должна быть определённым образом отформатирована (не в одну строчку, выделение и тд.)

Смотрел в сторону сводных таблиц и других команд из меню Данные, но так ничего толкового не вышло, может плохо смотрел?

Мне легче впасть в детство и вспомнить BASIC чем погружаться в VB
Может в OOo это можно решить проще, там хоть знакомый мне Python, а?

Советы очень даже приветствуются!

Репутация: 1
Всего: 15

Такая идея:
1. Выделяем первые три столбца (Название, адрес, имя), жмем "копировать"
2. Переходим на чистый лист, жмем "специальная вставка", в появившемся окне ставим галочку "Транспонировать"
Имеем: в первой строке - адреса, во второй - названия, в третьей - имена.
Форматируем каждую строку как требуется, при желании поменять строки местами можно выделить строку, навести курсор на границу выделения, зажать левую кнопку и перетащить куда надо. После этого ставим ширину всех столбцов такую, чтобы на каждый лист влезал только 1 столбец, задаем параметры печати, жмем "печать" - и из принтера вылезают листочки, на каждом из которых по три требуемых строки.
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.

Репутация: 1
Всего: 3

Цитата

Мне легче впасть в детство и вспомнить BASIC чем погружаться в VB

А погружаться и не придется! В VBA - это 10-20 строчек кода из простейших команд. Синтаксис элементарный + удобство программирования неимоверное.
Создашь удобную форму или лист экселевский под конверт подгонишь. Потом для миллиона заданных строчек заполняем форму (лист) этими тремя значениями и печатаем его.
Имхо, если немного программить умеешь - делай так! Стандартными средствами Экселя ты себе только немного поможешь, причем время потратишь много и нервов! А с помощью VBA(VB) - полностью автоматизируешь поставленную задачу и научишься решать др. подобные! Удивишь коллег!

Ведь праздничный торт можно разрезать и лапатой, но удобнее - ножем! Вот твоя задача - это торт, а VBA - элегантный нож!

Кстати современные принтеры легко и на конвертах типовых печатают.

"Как вы яхту назовете - так она и поплывет!"
Капитан Врунгель

Репутация: 15
Всего: 17

Что-то я не пойму. Зачем изобретать велосипед, если есть стандартная возможность Word - слияние документов (Mail Merge). Максимум 5 мин займет, без всякого программирования.

Репутация: нет
Всего: 130

Репутация: 5
Всего: 109

Подобная тема уже была в форуме!

Цитата

Запуск процедуры слияния
Чтобы начать процедуру слияния, выполните следующие действия.

Запустите программу Word.
По умолчанию открывается пустой документ. Не закрывайте его, иначе вам не удастся выполнить следующий этап.

В меню Сервис выберите команду Письма и рассылки, а затем — команду Слияние.
Примечание. В программе Word 2002 в меню Сервис выберите Письма и рассылки, а затем Мастер слияния.
Откроется область задач Слияние. Для навигации при выполнении слияния используются гиперссылки в области задач.

user posted image

Программистами не рождаются, - это родовая травма.

Репутация: 15
Всего: 17

Ага, mihanik - хорошо, что ссылку дали - с ней понятнее будет.
От себя могу только сказать, что если данные в Excel, то и нужно их оставить в Excel. Word сам подключится в списку данных и выполнит слияние документов.

Лень - мать прогресса.

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"

Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

[ Время генерации скрипта: 0.1056 ] [ Использовано запросов: 21 ] [ GZIP включён ]


2. И еще момент интересный, можно ли убрать склонение ФИО, чтобы всегда было в именительном падеже, потому что иногда сбоит.

Пока только встал на путь освоения макросов и кода, сам довольно далек от этого.
Спасибо


2. И еще момент интересный, можно ли убрать склонение ФИО, чтобы всегда было в именительном падеже, потому что иногда сбоит.

Пока только встал на путь освоения макросов и кода, сам довольно далек от этого.
Спасибо 7420504


2. И еще момент интересный, можно ли убрать склонение ФИО, чтобы всегда было в именительном падеже, потому что иногда сбоит.

Пока только встал на путь освоения макросов и кода, сам довольно далек от этого.
Спасибо Автор - 7420504
Дата добавления - 05.06.2018 в 16:00

1. Адрес всегда нужно писать с областью. Или, по крайней мере, область можно не писать, но запятую поставить нужно. Вот так
368810,, г. Москва, ул. Академика Лазарева, д.14, корпус 6, владение 2
2. Нужно следить за тем, чтобы в ФИО не было пробелов в конце. У Вас "Татьяна" записана как "Татьяна "

По поводу пробелов в ФИО дописал немного в макросе, теперь можно с пробелами

1. Адрес всегда нужно писать с областью. Или, по крайней мере, область можно не писать, но запятую поставить нужно. Вот так
368810,, г. Москва, ул. Академика Лазарева, д.14, корпус 6, владение 2
2. Нужно следить за тем, чтобы в ФИО не было пробелов в конце. У Вас "Татьяна" записана как "Татьяна "

По поводу пробелов в ФИО дописал немного в макросе, теперь можно с пробелами _Boroda_

По поводу пробелов в ФИО дописал немного в макросе, теперь можно с пробелами Автор - _Boroda_
Дата добавления - 05.06.2018 в 16:36

Спасибо за корректировки, действительно пробел мешал склонению.

Касательно адреса мои рассуждения были такие:
Есть 2 примера:
132150, г. Москва, а/я12.
125130, город Москва, проезд Мостовой, дом 2, корпус 4, помещение V, комната 123

Мы левую часть, то есть 6 знаков индекса отправляем в соответствующие поля на конверте, а все что после индекса - в поле адрес с сохранением последовательности символов и знаков.


Дело в том, что по предыдущему примеру 368810,, г. Москва, ул. Академика Лазарева, д.14, корпус 6, владение 2 теряется "владение 2", что на практике может оказаться критично. Думаю если бы шло простое копирование строки до последнего символа после индекса в поле адреса, данные ошибки были бы исключены.

Спасибо за корректировки, действительно пробел мешал склонению.

Касательно адреса мои рассуждения были такие:
Есть 2 примера:
132150, г. Москва, а/я12.
125130, город Москва, проезд Мостовой, дом 2, корпус 4, помещение V, комната 123

Мы левую часть, то есть 6 знаков индекса отправляем в соответствующие поля на конверте, а все что после индекса - в поле адрес с сохранением последовательности символов и знаков.


Дело в том, что по предыдущему примеру 368810,, г. Москва, ул. Академика Лазарева, д.14, корпус 6, владение 2 теряется "владение 2", что на практике может оказаться критично. Думаю если бы шло простое копирование строки до последнего символа после индекса в поле адреса, данные ошибки были бы исключены.

7420504

Касательно адреса мои рассуждения были такие:
Есть 2 примера:
132150, г. Москва, а/я12.
125130, город Москва, проезд Мостовой, дом 2, корпус 4, помещение V, комната 123

Мы левую часть, то есть 6 знаков индекса отправляем в соответствующие поля на конверте, а все что после индекса - в поле адрес с сохранением последовательности символов и знаков.


Дело в том, что по предыдущему примеру 368810,, г. Москва, ул. Академика Лазарева, д.14, корпус 6, владение 2 теряется "владение 2", что на практике может оказаться критично. Думаю если бы шло простое копирование строки до последнего символа после индекса в поле адреса, данные ошибки были бы исключены.

Автор - 7420504
Дата добавления - 05.06.2018 в 17:33

Читайте также: