Автор Тема: Word VBA: Замена неправильного дефиса  (Прочитано 2062 раз)

Оффлайн Посетитель 29.10.2022

  • Посетитель форума
  • Сообщений: 12
Re: Word VBA: Замена неправильного дефиса
« Ответ #15 : 12 Ноябрь 2022, 12:54 »
Найти заменить лего. Просто как узнать какие символы которые больше чем 65535, Символы свыше 65535являются суррогатными и состоят из двух подряд идущих символов. Вот как узнать эти пары символов для тех что больше 65536. Каждый символ конечно можно через найти заменить определить. А вот как то все сразу узнать вариант которые до 65536  вот вариант
For u = 1 To 65535
Символ_цифрового_ANSI_кода = ChrW(u)
Selection.TypeText Text:=u & " " & Символ_цифрового_ANSI_кода
Selection.TypeParagraph 'вставить абзац, то есть параграф
а вот есть что то как узнать какие пары идут после 65535
Может можно как то автоматизировать вот такой вариант.
Alt+65537 дает
Selection.TypeText Text:=ChrW(55617) & ChrW(57324)
Alt+65538 дает
 Selection.TypeText Text:=ChrW(55296) & ChrW(56322)
ну и так до Alt+917997

Оффлайн Администратор

  • Administrator
  • Сообщений: 2162
Re: Word VBA: Замена неправильного дефиса
« Ответ #16 : 12 Ноябрь 2022, 13:00 »
В каком коде вы планируете использовать ChrW? Напишите код, который у вас не работает.

Оффлайн Посетитель 29.10.2022

  • Посетитель форума
  • Сообщений: 12
Re: Word VBA: Замена неправильного дефиса
« Ответ #17 : 12 Ноябрь 2022, 13:15 »
Вот так ошибка
For u = 65537 To 917997
Символ_цифрового_ANSI_кода = ChrW(u)
Selection.TypeText Text:=u & " " & Символ_цифрового_ANSI_кода
Selection.TypeParagraph 'вставить абзац, то есть параграф

Оффлайн Администратор

  • Administrator
  • Сообщений: 2162
Re: Word VBA: Замена неправильного дефиса
« Ответ #18 : 12 Ноябрь 2022, 14:21 »
Не смогу помочь по этому вопросу, такие нюансы я не знаю про юникод-коды.
Если мне нужен символ ChrW(-10114), я его так и вставлю ChrW(-10114). Ворд это позволяет сделать.
Почему VBA даёт такой юникод, я не знаю и не задумываюсь над этим. Нет возможности в это вникать. Посмотрите в интернете статьи, может обсуждалось это.