powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / замена строки - французские буквы в xls файле
15 сообщений из 15, страница 1 из 1
замена строки - французские буквы в xls файле
    #36631568
Фотография Sator Arepo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет
Есть задача - массовая замена французских слов на русские.
Например, нужно заменить 'Caractéristiques générales' на 'Общие характеристики' на всей странице.
Ручной вызов панели поиска/замены приводит к тому, что заменяется только небольшая часть (14 совпадений), а потом Эксель (2003) выбрасывает диалоговое окно с сообщением "слишком сложная формула" и не делает ничего.
Попытка открытия файла и замены через 'Блокнот' приводит к тому, что все заменяется как надо (в Блокноте), но файл затем в Экселе не открывается.
Начал писать процедуру - но сразу столкнулся с тем, что копи-пейст в редактор ВБА удаляет буквы с акцентами и прочими над- и подстрочными символами

Код: plaintext
1.
2.
3.
4.
Sub ReplaceString()
    Dim sToReplace As String
    sToReplace = "Caract?ristiques g?n?rales"
    
End Sub

Вручную менять неохота. Какой выход посоветует общественность?
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631580
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sator Arepo,
попробуйте использовать Chrw()
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631624
Фотография Sator Arepo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Sator Arepo,
попробуйте использовать Chrw()
Пока не понимаю, как эта функция может облегчить мне жизнь. Можете алгоритм описать?
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631644
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121 как Вы представляете себе, при помоши переводить слова, а не БУКВЫ?????????????????????????
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631646
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс
Hugo121 как Вы представляете себе, при помоши Chrw() переводить слова, а не БУКВЫ?????????????????????????
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631662
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sator Arepo,

Код: plaintext
1.
2.
3.
4.
Sub ReplaceString()
    Dim sToReplace As String
    sToReplace = "Caract" & Chrw( 233 ) & "ristiques g" & Chrw( 233 ) & "n" & Chrw( 233 ) & "rales"
End Sub
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631701
Фотография Sator Arepo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Sator Arepo,

Код: plaintext
1.
2.
3.
4.
Sub ReplaceString()
    Dim sToReplace As String
    sToReplace = "Caract" & Chrw( 233 ) & "ristiques g" & Chrw( 233 ) & "n" & Chrw( 233 ) & "rales"
End Sub

Я примерно так и думал. Только дело в том, что поменять нужно не одну фразу. Т.е. в идеале, видимо, нужено генератор подобных строк, составленных из функции Chrw(). Т.е на входе - строка с юникодными символами, на выходе - строка, сцепленная из функции Chrw(). Где бы такое взять?
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631715
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HUGO121. Вот так? Если да то это абсурд.
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631723
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sator Arepo, ну может сперва заменить по всему листу такие символы на символы без диакритических знаков, а затем уже заменять полученное обычным способом. Ведь таких символов не так уж много.
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631737
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я понял задачу так - есть некий конечный набор слов, которые надо автоматом заменить на другой набор слов, а проблема в этих символах. Если конечно Вы собрались переводить книгу, тогда такой подход не годится, хотя заменить все такие символы на аналоги таким способом можно (сколько их там таких, ведь не больше пары десятков?).
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631740
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот например такой код вполне заменил Ваши слова на моё - грубый пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub ReplaceString()
    Dim sToReplace As String
    sToReplace = "Caract" & ChrW( 233 ) & "ristiques g" & ChrW( 233 ) & "n" & ChrW( 233 ) & "rales"
    For Each cc In Columns( 3 ).Cells
    If cc.Value = sToReplace Then cc.Value = "zamena"
    Next
End Sub
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631772
Фотография Sator Arepo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121, спасибо.
Задачу Вы поняли правильно. Набор строк для автоматической замены небольшой, поэтому такой подход приемлем.
у меня получилось так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub ReplaceString()
    Dim sToReplace As String
    sToReplace = "Caract" & ChrW( 233 ) & "ristiques g" & ChrW( 233 ) & "n" & ChrW( 233 ) & "rales"
    'Debug.Print sToReplace
    Dim rng As Range
    Dim sReplaceWith As String
    sReplaceWith = "Общие характеристики"
'    sToReplace = " mm "
'    sReplaceWith = " мм "
    Dim sDummy As String
    For Each rng In Range("F2", "F174")
'        Debug.Print rng.Value
        sDummy = rng.Value
        rng.Value = Replace(sDummy, sToReplace, sReplaceWith)
    Next
    
End Sub
sDummy кажись лишняя, ну да ладно. Спасибо
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631789
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sator Arepo,
ну и хорошо.
Я такой подход использовал, когда надо было кодом занести в ячейку слово типа "générales" - т.е. обратная задача была :)
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631816
Фотография Sator Arepo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Sator Arepo,
ну и хорошо.
Я такой подход использовал, когда надо было кодом занести в ячейку слово типа "générales" - т.е. обратная задача была :)
Кстати, обратная замена "общие" => "générales" вручную - сработала!
Добавление французской раскладки, кстати, не помогло для правильного изображения французских букв в редакторе ВБА (попробовал, исходя из известного факта, что русский текст правильно копипейстится в редактор только при активной русской раскладке.
...
Рейтинг: 0 / 0
замена строки - французские буквы в xls файле
    #36631829
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и тогда уж докучи код, помогающий выяснить эти ChrW:

Код: plaintext
1.
2.
3.
4.
5.
Sub ShowChrW()
For i =  1  To  30000 
Cells(i,  1 ).Value = ChrW(i)
Next i
End Sub
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / замена строки - французские буквы в xls файле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]