Я создаю сценарий Excel VBA для отправки отчетов по электронной почте. Я сделал следующую функцию для проверки вложения, прежде чем включать его в письмо.Чтение строки из документа Word
Функция, приведенная ниже, откроет документ слова, проверьте, соответствует ли первая строка идентификатору клиента и возвращает bool.
Он работает, однако, когда я читаю данные из Word, он содержит некоторые скрытые цитаты в тексте.
Хотя обе строки - 123a, когда я вставляю их в другой текстовый редактор, я вижу тот, который я читаю из Word как «123a». Если я напечатаю их с помощью MsbBox, оба значения равны 123a.
Function ValidateAttachment(attachmentURL As String, customerID As String) As Boolean
Dim oWord As Word.Application
Dim oWdoc As Word.Document
Set oWord = CreateObject("Word.Application")
Set oWdoc = oWord.Documents.Open(attachmentURL)
If StrComp(oWdoc.Paragraphs(1).Range.Text, customerID, vbTextCompare) = 0 Then
ValidateAttachment = True
Else
ValidateAttachment = False
End If
oWord.Quit
Set oWord = Nothing
Exit Function
End Function
Это то, что я вижу, когда пишу оба результата в обычные ячейки. Даже я делаю простую формулу IF для проверки равенства, она не работает.
Съемка в темноте, но я озадачен. Как насчет того, чтобы вы сначала назначили oWdoc.Paragraphs (1) .Range.Text для переменной, а затем выполните сравнение. –
Тот же вывод, и что делает это еще более странным, если я вставляю точку останова и наводил переменную, я вижу правильное значение – Marcelo
Как насчет If oWdoc.Paragraphs (1) .Range.Text = customerID Then ... –