|
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 18
|
||||||
Создание простого переводчика таблицы01.09.2010, 17:52. Показов 2823. Ответов 14
Метки нет (Все метки)
Гуру, помогите плиз ещё разок.
Я честно пытался, читал, читал, но опять ничего не вышло, выдаёт какую то ошибку, а что делать не знаю. Итак, задача для вас довольна проста: Прогон текста одной страницы со значениями другой (см. приложение) На первой странице есть какой-то текст, а на второй две колонки, в одной этот же текст, а в другой его перевод. Надо чтобы макрос нашел этот текст и заменил его в искомой графе, если же его НЕТ, то пропустил ячейку (В идеале было бы не плохо если бы он её выделил цветом). Объем текста на первой странице переменный. Чтобы доказать что я пытался вот что у меня получилось (естественно не работающий вариант):
0
|
||||||
| 01.09.2010, 17:52 | |
|
Ответы с готовыми решениями:
14
Создание простого теста для VB!
|
|
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 18
|
|
| 02.09.2010, 10:30 [ТС] | |
|
Млин, я уже какими только вариантами не пытался подставить, но все равно в упор не хочет сравнивать, просто пропускает. Что я делаю не так?
Люди подскажите какая функция проверяет текст на соответствие?
0
|
|
| 02.09.2010, 11:03 | ||||||||||||
Вообще нужно попробовать сделать так:
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 18
|
|
| 02.09.2010, 11:11 [ТС] | |
|
Ненаходит
![]() просто пропускает и продолжает дальше искать
0
|
|
| 02.09.2010, 11:47 | |||||||
|
Можно начать так:
1
|
|||||||
|
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 18
|
|
| 02.09.2010, 12:00 [ТС] | |
|
Спасибо за помощь, но я так и не знаю как их сравнить, т.е. массив в принципе и прошлый работал (хотя твой наверно лучше), а вот сравнение у меня не получилось?
Пожалуйста напиши как будет время.
0
|
|
|
496 / 130 / 19
Регистрация: 30.03.2010
Сообщений: 224
|
||||||
| 02.09.2010, 12:55 | ||||||
|
а вот есче мой вариант
1
|
||||||
| 02.09.2010, 13:00 | ||||||
|
Вот другой вариант:
1
|
||||||
|
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 18
|
|
| 02.09.2010, 15:02 [ТС] | |
|
ОГРОМНОЕ ВСЕМ СПАСИБО!!!!
Код Аналитика почему то не работает ставит что-то типа "#NAME?", плюс массив всегда разный. А код Analyst - работает, но я вообще не могу понять как он работает ))) Я взял вариант petr-sev, т.к. код - понятен и в принципе прост. Однако в обоих вариантах нашелся баг: У Analyst система выделяет пустую строчку, как если бы она не нашла соответствия. А у petr-sev если система находит пустую клетку в Sheet1 она в неё вставляет значение первой строки второго столбца из Sheet2. Есть мысль как это исправить? Я сегодня ещё посижу подумаю, но если до завтра не придумаю, то не могли бы вы ещё помочь? Кстати идея аналитика по поводу добавления в словарь, очень хорошая, однако проблема в том что файлик который я с вашей помощью готовлю будут использовать люди без знания языка. Поэтому функцию может и стоит прописать, но не как условие, а как дополнение, но это конечно усложняет задачу которую я итак без вас решить не могу. И ещё вопрос, есть ли функция проверки языка ввода? Ну т.е. если язык русский уже то находить перевод не надо? P.S. Ещё раз огромное спасибо. С уважением, Женя
0
|
|
|
496 / 130 / 19
Регистрация: 30.03.2010
Сообщений: 224
|
||||||
| 02.09.2010, 15:15 | ||||||
|
добавлена проверка пустой строки
0
|
||||||
|
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 18
|
||
| 03.09.2010, 07:44 [ТС] | ||
|
Все работает. Спасибо большое, но ещё одни вопрос на эту же тему:
Какой размер у параметра Range? Дело в том что текст: "Без присмотра разрешается оставлять только ту технику, которая завязана на систему выключения, и которая пригодна для эксплуатации без присмотра. Если техника не пригодна для эксплуатации без присмотра, то такое машинное оборудование следует проверять на регулярной основе." он не "переводит", и ругается: "Run time error 13: Type mismatch" Но если текст сократить, то "переводит", т.е. получается что есть ограничение на размер текста. В книжке написано Object = 4 byte = Any object reference. Long = 4 byte = от -2 147 483 648 до 2 147 483 647 А это очень много, т.е. текст должен поместиться, но ошибка возникает. Можно её как то решить? Добавлено через 2 часа 34 минуты
0
|
||
|
496 / 130 / 19
Регистрация: 30.03.2010
Сообщений: 224
|
|
| 03.09.2010, 10:53 | |
|
Дело не в размере Range или Object, а в том, что для перевода использован метод Find (поиск)
а поиск (в том числе и поиск вручную) в Excel'е работает только для строк длиной не более 256 символов
0
|
|
|
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 18
|
||||||
| 03.09.2010, 14:26 [ТС] | ||||||
|
Тогда придется использовать вариант Analyst, но тогда остается вопрос пропуска пустых ячеек. В принципе я заменил заливку на изменение цвета текста, и т.к. клетки пустые то их и не видно, но может можно как то правильнее сделать?
Я попробовал по аналогии вставить: If VDataArr(iRow, iColomn).Text <> "" Then Но система это принимать не хочет "Script out of range". Подскажете как решить? Вот получившийся код:
0
|
||||||
|
0 / 0 / 0
Регистрация: 29.08.2010
Сообщений: 18
|
|
| 06.09.2010, 09:20 [ТС] | |
|
Чё то я не нашел решения. Помогите плиз.
0
|
|
| 06.09.2010, 09:50 | ||
|
If VDataArr(iRow, iColomn) <> Empty Then Мой код не сможет перевести предложение потому, что вы не указывали в условии необходимость это сделать. Для решения этой задачи необходимо модифицировать код!
1
|
||
| 06.09.2010, 09:50 | |
|
Помогаю со студенческими работами здесь
15
Создание переводчика
Создание переводчика под java создание словаря-переводчика он-лайн Хватит ли простого добавления таблицы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
На примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных выбран регистр накопления, в. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|