На просторах интернета нашлась интересная функция выделения жирным, но работает только с латиницей, так как использует таблицу ASCII. Прошу помощи с тем, чтобы функция и русский язык понимала.
Код
Function Bold(sIn As String)
Dim sOut As String, Char As String
Dim Code As Long, i As Long
Dim Bytes(0 To 3) As Byte
Bytes(0) = 53
Bytes(1) = 216
For i = 1 To Len(sIn)
Char = Mid(sIn, i, 1)
Code = Asc(Char)
If (Code > 64 And Code < 91) Or (Code > 96 And Code < 123) Then
Code = Code + IIf(Code > 96, 56717, 56723)
Bytes(2) = Code Mod 256
Bytes(3) = Code \ 256
Char = Bytes
End If
sOut = sOut & Char
Next i
Bold = sOut
End Function
Игорь - это вряд ли. Автор кода что-то глубокое знает про Unicode 32. По быстрому не удалось найти, как обеспечивается подобная полужирнизация. Хотя насколько это употребимо? Шрифт для ячейки Times New Roman, а функция Bold явно заставляет использовать некий другой шрифт P. S. Может Владимир Sokol92 подтянется - он корифей в этом деле.
Андрей VG написал: Шрифт для ячейки Times New Roman, а функция Bold явно заставляет использовать некий другой шрифт
шрифт то-же самый, код символа другой. Я вообще удивлен, что этот шрифт поддерживает эти коды (4х байтовые). Причем все шрифты, которые я тестировал поддерживают эти символы, кроме самых экзотических, см. рис. Кстати на нем же видно, что это разные символы.
Здравствуйте, коллеги. Собственно, Виталий уже всё написал. Несколько ссылок.
Последняя версия таблиц Unicode всегда хранится здесь, описание таблиц здесь. Собственно символы и их свойства хранятся в этом текстовом файле (понятном и удобном для просмотра, а также для импорта в Excel). Математическим символам (буквам латинского и греческого алфавитов во всех регистрах и начертаниях, цифрам...) соответствует диапазон символов Unicode 1D400-1D7FF. Кириллицу в этом месте я не нашел.
Windows использует при работе с Unicode внутренний формат UTF-16LE. Указанные выше математические символы представляются "суррогатными парами" и занимают во внутреннем формате 4 байта каждый. В кодировке UTF-8 также требуется 4 байта.
Трюк из #1 можно использовать только для "изобразительских" целей, поскольку буквы латинского алфавита меняются на совершенно иные знаки и работа с ними в Excel может привести к непредсказуемым (для тех, кто не знает тонкости Unicode) результатам.