Немного предыстории. Я работаю в организации, которая использует Mail Merge и базы данных SQL для заполнения писем именами / адресами. Эти письма отправляются нашим донорам в качестве благодарности. Эти буквы часто меняются, и новые появляются не реже 10 раз в месяц.
Чтобы упростить наш процесс, я создал программу, которая позволяет копировать / вставлять содержимое тела письма в расширенные текстовые поля, а также при необходимостинажмите кнопку «Перейти», она откроет готовый шаблон Word и заменит закладки в шаблоне на скопированное содержимое.
Программа отлично работает с большинством букв, но у некоторых из них есть проблема, когда создаются эти толстые черные линии, и я не могу сделать НИЧЕГО, чтобы удалить их. Я не могу щелкнуть их правой кнопкой мыши, я не могу удалить их с помощью Backspace или Delete, и не могу выделить их.
Я думаю, что проблема может быть в скрытом форматировании. Некоторые из сотрудников, которые пишут письма, используют версию Office 2016 для Mac, а я использую версию для Windows. Я отправил RTF-файл, который показывал черные линии для меня кому-то, кто использует версию для Mac, и они сказали, что не могут видеть линии.
Мой вопрос, есть ли способ избавиться от этихлинии или помешать им в будущем? Я думал об обновлении версии Office до 2019 на обоих концах, но есть довольно много людей, которые держат свои руки в этих письмах, и может быть сложно обновить всех.
Пожалуйста, обратитесь к приложенному изображению длявизуальная справка. Имена и личные данные были удалены.
РЕДАКТИРОВАТЬ: Вот код 'Go':
'create temp rtf files to maintain rtf
If strForm = "ANG2" Then
txtPreD.SaveFile("\\server\AcknowledgementLetters\fptemp.rtf")
txtPostD.SaveFile("\\server\AcknowledgementLetters\bptemp.rtf")
ElseIf strForm = "ANGL" Then
txtPreD.SaveFile("\\server\AcknowledgementLetters\predtemp.rtf")
txtPostD.SaveFile("\\server\AcknowledgementLetters\postdtemp.rtf")
txtBP.SaveFile("\\server\AcknowledgementLetters\bptemp.rtf")
Else
txtPreD.SaveFile("\\server\AcknowledgementLetters\predtemp.rtf")
txtPostD.SaveFile("\\server\AcknowledgementLetters\postdtemp.rtf")
End If
'if bookmarks exists, insert appropriate rtf files
If odoc.Bookmarks.Exists("fp") = True Then
goWord.ActiveDocument.Bookmarks("fp").Select()
goWord.Selection.InsertFile(FileName:="\\server\AcknowledgementLetters\fptemp.rtf")
End If
If odoc.Bookmarks.Exists("bp") = True Then
goWord.ActiveDocument.Bookmarks("bp").Select()
goWord.Selection.InsertFile(FileName:="\\server\AcknowledgementLetters\bptemp.rtf")
End If
If odoc.Bookmarks.Exists("PreD") = True Then
goWord.ActiveDocument.Bookmarks("PreD").Select()
goWord.Selection.InsertFile(FileName:="\\server\AcknowledgementLetters\predtemp.rtf")
End If
If odoc.Bookmarks.Exists("PostD") = True Then
goWord.ActiveDocument.Bookmarks("PostD").Select()
goWord.Selection.InsertFile(FileName:="\\server\AcknowledgementLetters\postdtemp.rtf")
End If
Прежде чем это произойдет, программа проверяетпосмотрите, какой шаблон нужно открыть, и откройте его как объект Word (odoc). Этот фрагмент кода действительно единственная важная часть. После этого я просто нажимаю кнопку Готово, он просто сохраняет файл после проверки его на наличие ошибок. Кроме того, да, файлы RTF, которые он создает, имеют черные линии. Вот еще одна картина самой программы, чтобы вы могли лучше понять, что происходит.