backtotop
Как быстро поставить ударение в Word или Excel?

Век живи — век учись, а дураком помрешь. Еще раз убеждаюсь в правдоподобности поговорки. Меня попросили о помощи, при поиске ни в учетной системе, ни в выгрузке в Excel не находился номер накладной. Как выяснилось, мешался невидимый символ в тексте, первый раз вижу такое. Интересный случай. Я решил даже написать отдельную статью.

невидимый символ в тексте

Предыстория. Был короткий список накладных, которые надо было проверить. Этот список в теле письма переслали клиенту. Клиент, судя по всему при помощи копировать/вставить, проверял наличие номера уже в своей системе. Затем после проверки номер одной накладной клиент прислал обратно по почте. После чего такой номер накладной уже не искался во внутренней учетной системе, из которой изначально появился. В чем же дело? Попробуем разобраться.

Как найти невидимый символ в тексте Excel и Word?

Когда мне позвонили, чтобы спросить совет, я сразу предположил, что в номере есть лишние пробелы или ноль заменен на букву «О». Узнав, что это не так, попросил скорее прислать файл.

невидимый символ в тексте

Визуально, ничего не находится. Проверив длину текста, оказалось, что первая строка длиннее аж на 2 символа — т.е. состоит из 10 символов.

Я сразу разрезал текст на кусочки.

Лишний символ 2

Подумал, что наверно — это символы-пустышки 30 или 152, но тоже нет.

Пробежал макросом, сравнивая символ ячейки со всеми символами через Chr(). Тоже нет совпадений. В общем, пока загадка. Возможно, кто-то знает ответ. Еще поищу в интернете.

Файл прикладываю.

 

Выводы

Судя по всему, символ добавился либо при пересылке, либо при использовании в учетной системе клиента. В целом, случай довольно редкий, какой-то защиты придумать сложно,  тем более я так и не нашел мешающийся символ. Но в любом случае полезно знать, что такая трудность может случится, и как искать ошибку.

Удобный макрос

Спасибо Николаю nickmitch за небольшой макрос, который показывает символы строки и их коды в юникоде:

Sub see_token()

    str1 = Cells(1, 1)
    str2 = Cells(2, 1) 

    For i = 1 To Len(str1)
        Cells(1, 3 + i) = Mid(str1, i, 1)
        Cells(2, 3 + i) = AscW(Mid(str1, i, 1))
    Next i 

    For i = 1 To Len(str2)
        Cells(3, 3 + i) = Mid(str2, i, 1)
        Cells(4, 3 + i) = AscW(Mid(str2, i, 1))
    Next i

End Sub

Как быстро поставить ударение в Word или Excel?

Комментарии:

( 2 Comments )

Дарья:

Очень интересно! Спасибо!

Аня:

Лишний пробел перед первой 1

Добавить комментарий