Перейти к содержанию

Нужен совет по макросу (Word)


zyablik

Рекомендуемые сообщения

Есть работающий макрос, заменяющий один символ (в данном случае "ђ") на другой [в данном случае на "A" — Chr$(65)]:

Sub ZamenaTT()

' Замена букв - Макрос

'

ActiveWindow.View.ReadingLayout = Not ActiveWindow.View.ReadingLayout

If ActiveWindow.View.SplitSpecial = wdPaneNone Then

ActiveWindow.ActivePane.View.Type = wdNormalView

Else

ActiveWindow.View.Type = wdNormalView

End If

Selection.Find.Execute Replace:=wdReplaceAll

With Selection.Find

.Text = "ђ"

.Replacement.Text = Chr$(65)

.Forward = True

.Wrap = wdFindContinue

.Format = False

.MatchCase = False

.MatchWholeWord = False

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

End With

Selection.Find.Execute Replace:=wdReplaceAll

ActiveWindow.View.ReadingLayout = Not ActiveWindow.View.ReadingLayout

End Sub

Хочется, чтобы замена шла на символ, который выводится (в Word'e!) при наборе 1241 с нажатой клавишей Alt — это "ә" (так надо). Но применение Chr$(1241) вызывает ошибку при запуске макроса (Invalid procedure call or argument — т.е. 1241 ему не нравится).

Если есть спецы, подскажите.

Спасибо.

P.S. При наборе вот в этом окне же — 1241 с нажатой клавишей Alt - получается "┘", увы.

P.P.S. Судя по http://unicode-table.com/ru/#04D9 :

Кириллическая строчная буква =шва=

Cyrillic small letter schwa

Номер в юникоде: 04D9

HTML-код: ә

Кстати, HTML-код: = & # 1 2 4 1 ; = тут автоматически заменяется на "ә"...

P.P.P.S.

На http://forum.ixbt.com/topic.cgi?id=26:36975 нашел вот что:

...Консоль может отобразить 256 различных символов, что она унаследовала от DOS. Соответственно, она не может отобразить любой Unicode-символ. Она может отобразить только эти самые 256 символов из своей собственной кодовой страницы. В Вашем случае, эта кодовая страница наверняка 866. Функция VB.Net Chr() для преобразования кода символа в Unicode-символ использует другую кодовую страницу, а именно System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage. Которая, скорее всего, 1251. Набор символов в этих кодовых страницах разный. Поэтому, некоторые из символов, полученных с помощью Chr, в общем случае, не могут быть отображены в консоли в принципе. Вместо них появятся "?".
Но это Си, к сожалению.

---

Ышшо.

По http://xpoint.ru/know-how/Perl/PodderzhkaU...de#FunktsiyaChr

Функция chr

Конвертирует число в символ, где число - это код символа. В версиях 5.8, с приходом unicode, действие функции немного расширилось, а точнее, если аргумнт число больше 255, то функция считает число code point'ом unicode и возвращает соответствующий символ в скаляре с установленным флагом UTF-8.

Пример: конвертирование HTML entities.

my $str = "тест";

$str =~ s/([a-fA-F0-9]+);/"". hex($1) .";"/ge;

$str =~ s/([0-9]+);/chr($1)/ge;

print "$str\n";

Изменено пользователем zyablik
Ссылка на комментарий
Поделиться на другие сайты

Ну, как-то так:.Replacement.Text = ChrW(1241) :huh:
Ай да МОЛОТОК, ACIK! :)

---

Ну, разве что: в общем случае вместо ".MatchCase = False" должно быть ".MatchCase = True", дабы все маленькие заменяемые буквы не превратились в заглавные.

Изменено пользователем zyablik
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • KL FC Bot
      От KL FC Bot
      С киберпреступниками рано или поздно сталкиваются практически все — от детей до пенсионеров. И если вы все время откладывали на потом свою кибербезопасность, потому что эта тема кажется вам слишком сложной, то держите пять очень простых советов, которые легко понять и просто выполнять. Но каждый из них сильно улучшит вашу защиту от самых распространенных киберугроз. Мы подготовили этот пост в рамках информационной кампании Интерпола #ThinkTwice, призванной улучшить осведомленность об основных методах кибермошенничества и простых, но надежных способах противодействовать им.
      Автоматизируйте пароли
      Пароли к каждому сайту и приложению должны быть длинными (минимум 12 символов) и никогда не должны повторяться. Придумывать и запоминать столько паролей не может никто, поэтому храните, создавайте и вводите их при помощи менеджера паролей. Вам придется придумать и запомнить только один (длинный!) мастер-пароль к нему, а все остальное — от создания до заполнения паролей — будет происходить автоматически.
      Важные нюансы: менеджер паролей нужно установить на все свои устройства, чтобы вводить пароли с удобством повсюду. Данные будут синхронизироваться между всеми вашими устройствами, и, сохранив пароль в смартфоне, вы сможете автоматически подставить его в поле ввода на компьютере, и наоборот. Кстати, в менеджере паролей можно хранить в зашифрованном виде не только пароли, но и пин-коды, данные кредитных карт, адреса, заметки и даже сканы документов.
      Уровень PRO: для максимальной безопасности отключите вход в парольный менеджер по биометрии — так вам придется каждый раз вводить мастер-пароль, зато никто не сможет получить доступ ко всем вашим данным, не зная мастер-пароля (на стикере его писать не надо).
       
      View the full article
    • Павел1247
      От Павел1247
      Сам восстанавливается майнер, нашел на форуме как его удалить с помощью FRST, но как я понимаю fixlist для каждого индивидуален, и мне нужна помощь с этим.
      Заранее спасибо.
      Addition.txt FRST.txt
    • sobanindmitrij998
      От sobanindmitrij998
      Здраствуйте  на днях  себе на днюхю сам подарил себе машину    хочу поставить планшет на базе виндовс
      вопрос встал в покупке планшета какой посоветуете  в машину у нас зимой в данное время температура  бывает минус 30  и то предел до 40
      какой планшет выдержит в такую погоду ночью? в тачке
    • Mrak
      От Mrak
      Здравствуйте.
       
      Подскажите пожалуйста, как найти панель управления стилей в ворде для мак ос?
      Установлена лицензионная последняя версия для мак ос. Не нахожу кнопочку.
      На винде так:

      Нужно получить такое же окно в ворде для мака.
    • I_CaR
      От I_CaR
      Знаю AnyDesk из него ни чего нельзя нажать такого, что под защитой - Dr*eb, Касперского и т.п. и это вроде хорошо, что программы так себя защитили.
      Но почему на дворе 23-ий год третьего тысячелетия, нейронные сети, ИИ, но вот ПО по защите данных (антивирус Касперского) отключается парой скриптов от злоумышленников даже RDP?
      Зачем вообще платить за такой продукт?
      Есть ли смысл?
      Как показывает многолетняя практика, те вирусы, которые не убивают компьютер лечатся постфактум, даже если на ПК не было установлено антивирусное ПО. А вот те вирусы, что убивают ПК полностью - и не лечатся и спокойно проходят защиту от Касперского.
      И? И зачем тогда такое антивирусное ПО?
      Сообщение от модератора kmscom Тема перемещена из раздела Помощь в борьбе с шифровальщиками-вымогателями  
×
×
  • Создать...