Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBScript/JScript/WSH/WMI/HTA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/28: Рейтинг темы: голосов - 28, средняя оценка - 4.57
СергейР
8 / 8 / 4
Регистрация: 21.08.2012
Сообщений: 154
1

Русские названия в VBScript

15.01.2014, 11:45. Просмотров 5172. Ответов 6
Метки нет (Все метки)

Доброго времени суток.

Отдельной темы по VBScript не нашёл, поэтому пишу сюда. А вообще тема на стыке 4-х инструментов - VBScript, 1С 8.2, xslt и DIRECTUM

Из функции VBScript надо запустить функцию 1С которая называется по русски и находится в модуле с русским названием. Назвать функцию по английски не проблема. Но функция находится в модуле, который называется по русски. А в модуле куча функций которые вызываются в 1С и в DIRECTUM в самых разных местах. В общем переименование модуля грозит большой трудоёмкостью и скрытыми ошибками...

Собственно вопрос:
Может какими-нибудь настройками можно заставить понимать VBScript русские названия модулей?

Спасибо.

Предполагаемая среда использования (все русские):
- Windows 7;
- Windows 8;
- Windows Server 2012;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 11:45
Ответы с готовыми решениями:

VBScript в ArcGis
Добрый день! Полный "о" в написании скриптов, оно мне и не надо для работы...

VBScript и OpenOffice
Подскажите пожалуйста как с помощью VBScript открыть файл OpenOffice и...

Изучение vbscript!!!
Посоветуйте пожалуйста литературу для самостоятельного изучения основ и...

Чтиво VBScript
Помоги литературой а то изгуглил все что можно - там либо англоязычные, либо...

Сценарий на VBScript
Здравствуйте. Помогите пожалуйста решить задачу. Мне нужно создать сценарий,...

6
Убежденный
Ушел с форума
Эксперт С++
15998 / 7269 / 1180
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
15.01.2014, 13:14 2
Цитата Сообщение от СергейР Посмотреть сообщение
Может какими-нибудь настройками можно заставить понимать VBScript русские названия модулей?
Сохраняйте файл VBScript в Юникоде. Например, в UTF-16.
Должно помочь (если я правильно понял задачу).
0
СергейР
8 / 8 / 4
Регистрация: 21.08.2012
Сообщений: 154
15.01.2014, 13:46  [ТС] 3
Цитата Сообщение от Убежденный Посмотреть сообщение
Сохраняйте файл VBScript в Юникоде. Например, в UTF-16.
Должно помочь (если я правильно понял задачу).
Мда... Функция VBScript в xslt-шаблоне. Шаблон формируется программно при выполнении. Попробую разобраться в какой кодировке всё это происходит...
0
Dragokas
Эксперт WindowsАвтор FAQ
17008 / 7064 / 856
Регистрация: 25.12.2011
Сообщений: 10,881
Записей в блоге: 16
16.01.2014, 01:20 4
Убежденный, VBScript не поддерживает Юникод-сурс.
СергейР, но что мешает сохранить код VBS в нужной кодировке (1251 или 866), к примеру.
Перекодируйте файл шаблона.
1
Убежденный
Ушел с форума
Эксперт С++
15998 / 7269 / 1180
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
16.01.2014, 09:39 5
Цитата Сообщение от Dragokas Посмотреть сообщение
Убежденный, VBScript не поддерживает Юникод-сурс.
Вынужден не согласиться. Набираю в текстовом редакторе:
Visual Basic
1
MsgBox("Привет!")
Сохраняю в UTF-16LE (+BOM) с расширением VBS, запускаю - все работает,
русские буквы нормально отображаются, проверил на английской Vista, например.

Добавлено через 18 минут
Хотя вот у меня есть COM-объект со свойством "версия".
Из JScript оно нормально вызывается, а из VBScript пишет "invalid char",
сохранение в UTF-16 не помогает, так что Dragokas прав.
0
СергейР
8 / 8 / 4
Регистрация: 21.08.2012
Сообщений: 154
16.01.2014, 16:55  [ТС] 6
С сообщением на русском проблем нету (в заголовках xslt и в xml кодировка стоит utf-8).
Проблема с обращением к модулям и функциям, имеющим русские названия.

Начну с простого - создам vbs-скрипты в различных кодировках с русскими названиями функций и проверю.

Добавлено через 6 часов 36 минут
Похоже VBScript принципиально не понимает русские названия функций. Сделал следующее:
В FAR'е написал vbs-скрипты и сохранил в следующих кодировках: ANSI, OEM, UTF-8 & UTF-16.
Запускал командой: C:\Windows\SysWOW64\wscript.exe TestRus_****.vbs

Для всех скриптов выходила одна и та же ошибка, указывающая на строку с русским названием модуля:
Ошибка: Недопустимый знак
Код: 800A0408
Источник: Ошибка компиляции Microsoft VBScript

Если вызывать аналогичную функцию с английским названием в английском модуле то вызов функции проходит корректно (возвращается текстовая строка на русском и вставляется в текстовый файл).

P.S. Попутно нашёл аналогичную тему 7-летней давности: Мне на VBS нужно написать скрипт для работы с 1С
Ничего не изменилось похоже...
0
Smitis
1629 / 338 / 39
Регистрация: 15.10.2012
Сообщений: 530
17.01.2014, 22:59 7
Цитата Сообщение от СергейР Посмотреть сообщение
Ничего не изменилось похоже...
И не изменится. M$ давно уже забили на WSH. Старая игрушка, уже неинтересная
1
17.01.2014, 22:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2014, 22:59

VBScript vs Реестр
всем привет!) я только учусь писать на VBS... есть пару вопросов: 1) Как...

Работа в VBscript с датой
Доброго времени суток, у меня такой вопрос: Как при вводе в форму года...

Не идет цикл For в VBscript :)
<html> <head> <!--ниже инструкция необходимая для работы VBScript в браузере...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru