MS Office Word 2007/2010 - как просмотреть редактирование существующих встроенных писем слияния SELECT? - PullRequest
3 голосов
/ 08 февраля 2011

У меня мало документов Word с объединением почты, мне нужно изменить источник данных, но для этого мне нужно извлечь все запросы SELECT из этих документов, чтобы обнаружить таблицыи поля используются.(У меня нет доступа к старому источнику данных, так как он больше не существует).

Я искал весь день и не могу понять, как извлечь или показать примененный запрос SELECTк каждому документу.Когда я запускаю один документ, открывается диалоговое окно с сообщением Word собирается выполнить следующий запрос SELECT X, Y .... , но так как запросы довольно большие, я не вижу всей их структуры, яне может изменить размер диалогового окна ни ...

Есть ли способ извлечь эти выборки?

Ответы [ 2 ]

2 голосов
/ 08 февраля 2011

Если вы откроете файл word .docx с помощью служебной программы unzip , такой как 7-Zip, это покажет структуру folder / file внутри.

Корневые папки должны быть чем-то вроде docProps, Word, _Rel. Посмотрите в папку Word и откройте файл «settings.xml». в этом вы должны увидеть запрос (вместе с сопоставлениями столбцов базы данных с полями в документе).

Я попытался это сделать в сопоставлении Word 2007 с таблицей клиентов, и запрос был сохранен:

query w:val="SELECT * FROM "Customer" "

Редактировать: извлечь из файла settings.xml (мне пришлось убрать <и>, чтобы это отобразилось)

ш: настройки XMLNS: м = "http://schemas.openxmlformats.org/officeDocument/2006/math" XMLNS: о = "урна: схемы-Microsoft-ком: офис:" XMLNS: г = "http://schemas.openxmlformats.org/officeDocument/2006/relationships" XMLNS: сл = "http://schemas.openxmlformats.org/schemaLibrary/2006/main" Xmlns: V = "урна: схемы-Microsoft-ком: VML" XMLNS: ш = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" XMLNS: w10 = "урна: схемы-Microsoft-ком: офис: слово"
w: зум w: процент = "100" /
ш: MailMerge
w: mainDocumentType w: val = "formLetters" /
ш: linkToQuery /
w: dataType w: val = "native" /
w: connectString w: val = "Provider = SQLOLEDB.1; Интегрированная безопасность = SSPI; Persist Security Info = True; Начальный каталог = Chinook; Источник данных = NEWDELL \ SQLEXPRESS; Использовать процедуру для Prepare = 1; Автоматический перевод = True; Пакет Размер = 4096; Идентификатор рабочей станции = NEWDELL; Использовать шифрование для данных = Ложь; по возможности пометить сопоставление столбцов = Ложь "/
w: query w: val = "SELECT * FROM" Customer "" /
w: dataSource r: id = "rId1" /
ш: viewMergedData /
w: odso .... и т. д.

0 голосов
/ 08 февраля 2011

Попробуйте нажать Alt + F11 в Word, чтобы открыть редактор VBA.

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

Если нет, возможно, макрос?

...