Если вы сохраните файл транзакций как книгу Excel, это вполне возможно - при условии, что файл с базовой информацией заголовка содержит хотя бы одно поле, найденное в файле транзакций. Решение требует некоторого кодирования поля (программирования) для реализации:
Сначала создайте основной документ Word mailmerge и подключите его к файлу с базовой информацией заголовка.
Во-вторых, создайте поле DATABASE в основном документе mailmerge, закодированное в виде строк:
{DATABASE \d "{FILENAME \p}/../Transactions.xlsx" \s "SELECT [TransDate], [TransID], [TransAmt] FROM [Transactions$] WHERE [ClientID] = {MERGEFIELD ClientID} ORDER BY [InvoiceDate]" \l "9" \b "47" \h}
, где «ClientID» - это поле, найденное как в базовом заголовке, так и в файле транзакций, и «Сделки» 'in [Transactions $] - это имя листа.
После того, как вы правильно выполнили настройку, ваше слияние должно быть в состоянии создать письмо для каждого клиента с таблицей, показывающей соответствующие транзакции.
Более подробное обсуждение этого подхода можно найти по адресу: https://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-mso_winother-mso_2010/mail-merge-to-a- слово стол-на-одностраничном / 4edb4654-27e0-47d2-bd5f-8642e46fa103 . Рабочий пример см .: http://www.msofficeforums.com/mail-merge/37844-mail-merge-using-one-excel-file-multiple.html
Примечание: Пары фигурных скобок (то есть '{}') для приведенного выше примера все создаются в самом документе с помощью Ctrl-F9 (Cmd-F9 на Mac или, если вы используете ноутбук, возможно, вам придется использовать Ctrl-Fn-F9); Вы не можете просто напечатать их или скопировать & amp; вставьте их из этого сообщения. Также нецелесообразно добавлять их через какие-либо стандартные диалоги Word. Все пространства, представленные в полевых конструкциях, являются обязательными.
Для получения дополнительной информации о поле DATABASE см .: https://support.office.com/en-us/article/field-codes-database-field-04398159-a2c9-463f-bb59-558a87badcbc? ocmsassetID = HP010260104 & амп; CorrelationId = 13f3ddc8-95e9-4b61-a577-61e3f961c75d & амп; Ui = EN-US & амп; Rs = EN-US & Amp; объявление = US
Возможно, есть более простой способ сделать это, но это сработало для меня.
Убедитесь, что ваш тег
имеет заголовок
attribute:
<link title="myStyles" rel="stylesheet" href="style.css" />
Затем используйте функцию, подобную этой, чтобы проверить наличие стиля в конкретном наборе стилей:
function linkLoaded(linkTitle, checkStyle)
{
for (var ix=0; ix<document.styleSheets.length; ix++) {
try {
if (document.styleSheets[ix].title == linkTitle) {
var mySheet=document.styleSheets[ix];
var myRules = mySheet.cssRules? mySheet.cssRules: mySheet.rules
for (var jx=0; jx<myRules.length; jx++) {
var thisSelector = myRules[jx].selectorText.toLowerCase();
if (thisSelector.substring(0, checkStyle.length) == checkStyle) {
alert("Found style!");
return;
}
}
}
}
catch (err) {}
}
alert("Not loaded!");
return;
}