Слияние сложных писем (CSV в Word, CSV в PDF или другое) - PullRequest
0 голосов
/ 13 марта 2019

ВОПРОС: Как написать ifStatement для Word или PDF для вычисления нескольких строк на один результат сопоставления?

ИСПОЛЬЗОВАНИЕ: Что я пытаюсь сделатькажется довольно простым и очень легким, когда я смог использовать MS Access 15 лет назад, но с Access больше нет возможности, я надеюсь, что у кого-то есть разумное решение.

ЧТО: Я пытаюсь сгенерировать выписки / счета-фактуры из CSV (или электронной таблицы любого формата) в красивый макет отчета.Допустим, столбцы выглядят так:

First Name | Last Name | Account | Address | Item | Description | Item Total
Jane | Smith | 123 | 111 Main St | Ice Cream | it's really cold | $100.00

Это очень просто, и я могу сделать это в Word за 10 минут и сделать его "красивым".

Simple Invoice in Word

НО, что если в одном счете несколько элементов?
Так что, возможно, CSV выглядит следующим образом:

First Name | Last Name | Account | Address | Item | Description | Item Total
Jane | Smith | 123 | 111 Main St | Ice Cream | it's really cold | $100.00
Jane | Smith | 123 | 111 Main St | Hot Dogs | all beef, all the time | $200.00

Я все еще хочу, чтобы был только 1 счетна человека, но не уверен, как сделать if заявление в Word, которое скажет: «Если на человека приходится несколько предметов, поместите их в новый ряд, а затем сложите их все вместе»

enter image description here

Я был бы рад, чтобы CSV перешел в заполняемую форму PDF, если бы я мог заставить работать несколько строк - я просто не могу понять эту часть. Другие варианты: я посмотрел на OpenOffice "Base", но не смог получить красивую форму для очень настраиваемого отчета.Я кратко исследовал, как сделать что-то подобное на AWS, но без удачи.Я не думаю, что у Microsoft больше есть что-то вроде Access

1 Ответ

0 голосов
/ 14 марта 2019

Для этого вы можете использовать средство Word / Directory Mailmerge для Word (терминология зависит от версии Word). Чтобы узнать, как это сделать с любым источником данных mailmerge, поддерживаемым Word, ознакомьтесь с моим Учебным пособием по каталогу / каталогу Microsoft Word по адресу: http://www.msofficeforums.com/mail-merge/38721-microsoft-word-catalogue-directory-mailmerge-tutorial.html или же: http://www.gmayor.com/Zips/Catalogue%20Mailmerge.zip Учебное пособие охватывает все: от создания списка до вставки и вычисления значений в таблицах с несколькими записями в виде букв. Прочтите руководство, прежде чем пытаться использовать прилагаемый к нему документ mailmerge.

В зависимости от того, чего вы пытаетесь достичь, кодирование поля для этого может быть сложным. Тем не менее, поскольку учебный документ включает в себя рабочие коды полей для всех своих примеров, большая часть тяжелой работы для вас уже проделана - вы сможете сделать чуть больше, чем просто скопировать / вставить соответствующие коды полей в свой основной документ mailmerge. , замените / вставьте свои собственные имена полей и настройте форматирование, чтобы получить желаемые результаты. Некоторые примеры работ см. В приложениях к сообщениям по адресу: http://www.msofficeforums.com/mail-merge/9180-mail-merge-duplicate-names-but-different-dollar.html#post23345 http://www.msofficeforums.com/mail-merge/11436-access-word-creating-list-multiple-records.html#post30327

Другой вариант - использовать поле DATABASE в основном документе «letter» mailmerge и макрос для управления процессом. Краткое описание этого подхода можно найти по адресу: http://answers.microsoft.com/en-us/office/forum/office_2010-word/many-to-one-email-merge-using-tables/8bce1798-fbe8-41f9-a121-1996c14dca5d И наоборот, если вы используете реляционную базу данных или книгу Excel с отдельной таблицей, содержащей только один экземпляр каждого из критериев группировки, поле DATABASE в обычном главном документе mailmerge «письмо» может использоваться без необходимости макро. Краткое описание этого подхода можно найти по адресу: https://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-mso_winother-mso_2010/mail-merge-to-a-word-table-on-a-single-page/4edb4654-27e0-47d2-bd5f-8642e46fa103 Рабочий пример см .: http://www.msofficeforums.com/mail-merge/37844-mail-merge-using-one-excel-file-multiple.html Проблема с полем DATABASE, однако, заключается в том, что оно не предоставляет итоговые данные, которые вы ищете. Тем не менее, если вы идете по макро-маршруту, для добавления строки итогов в итоговую таблицу не потребуется слишком много кода.

В качестве альтернативы, вы можете попробовать одну из надстроек слияния «многие к одному» из: Мэр Грэма в http://www.gmayor.com/ManyToOne.htm; или Дуг Роббинс в https://onedrive.live.com/?cid=5AEDCB43615E886B&id=5AEDCB43615E886B!566

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...