Я использую (в приложении Delphi win32) OLE для выполнения поиска и замены в документах Word.
Пользователь готовит файл с некоторыми текстовыми тегами, заключая их в "{" и "}", и сохраняетфайл.
Что-то вроде
Уважаемый {NAME},
Я хочу сказать вам {WHAT_I_DID_LAST_WEEK}
КонечноNAME
и WHAT_I_DID_LAST_WEEK
- это поля БД, которые могут быть длиннее 255.
Так что теперь, используя Поиск и замену на OLE, я получаю ошибку STRING PARAMETER TOO LONG (кажется, 255 - самая длинная строка, используемая там).
Есть ли простой способ избавиться от проблемы?
Некоторые домашние солютоны, о которых я подумал:
1) усекают до 255 (хороший;)) может добавлять «...» в конце
2) для каждого «тега», который требует замены более 255 символов, я мог бы сначала вставить больше тегов, таких как {WHAT_I_DID_LAST_WEEK_1}{WHAT_I_DID_LAST_WEEK_2}{WHAT_I_DID_LAST_WEEK_N}
, а затем заменить 255 символов
(1) - быстрое решение, по крайней мере, пользователь не получает ошибку, ноКонечно, это не очень хорошо
(2), вероятно, будет работать, но это обходной путь, я бы предпочел другое решение.
Может быть, другое решение не использует OLE Serach & Replace, но использует другую функцию.