- Remove From My Forums
-
Question
-
Доброго времени суток.
В организации на 250+ машинах сетевые параметры адаптеров установлены статикой (sic), необходимо заставить брать их по DHCP. Нашел пару скриптов, наиболее подходящим показался VBS (с которым я совершенно не знаком), т.к.
другой предполагает указание имени сетевого подключения (например, «Подключение по локальной сети»). Сам скрипт:
WMIC Path Win32_NetworkAdapterConfiguration Where «IPEnabled = True» Call SetDNSServerSearchOrderWMIC Path Win32_NetworkAdapterConfiguration Where «IPEnabled = True» Call EnableDHCP
выдает: предполагается наличие окончания инструкции. строка1, символ 11.
пробовал использовать bat такого вида:
netsh interface ip set address name=»Подключение по локальной сети» source=dhcp
netsh interface ip set dnsservers name=»Подключение по локальной сети» source=dhcp
ощутил проблемы с кодировкой, 1 раз он отработал, хотя отписал козябру, НО я не могу понять как, т.к. повторить я этого не могу, пробовал 1251, 866, 869 — без толку.
Подскажите что-нибудь пожалуйста.
-
Edited by
Friday, September 19, 2014 8:19 AM
-
Edited by
Answers
-
Как я уже говорил с vbs не сталкивался, решение предложенное в той теме Aleksey.T
выдает: строка 1, символ 1, несоответствие типа ‘Code’, код: 800A000D
НО оказывается якобы vbs скрипт который я привел использует обычные команды wmic.exe, которые можно использовать в пакетном файле и это работает. Тема закрыта.
-
Marked as answer by
Копылов Анатолий
Friday, September 19, 2014 8:47 AM
-
Marked as answer by
Товарищи помогите кто знает советом решить следующую проблему.
Попытался в 1с использовать MSScriptControl, следующим образом:
Script=Новый COMОбъект(«MSScriptControl.ScriptControl»);
Script.Language=»vbscript»;
СтрокаСкрипта=»Private Declare Function URLDownloadToFile Lib «»urlmon.dll»» Alias «»URLDownloadToFileA»» (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
|Sub GetFile
|Dim ret As Long
|ret = URLDownloadToFile(0, «»http://www.mail.ru»», «»c:1.html»», 0, 0)
|End Sub»;
Script.AddCode(СтрокаСкрипта);
При выполнении последнего оператора выдается ошибка:
{Форма.Форма(93)}: Ошибка при вызове метода контекста (AddCode): Произошла исключительная ситуация (Ошибка компиляции Microsoft VBScript): Предполагается наличие окончания инструкции
Script.AddCode(СтрокаСкрипта);
по причине:
Произошла исключительная ситуация (Ошибка компиляции Microsoft VBScript): Предполагается наличие окончания инструкции.
Этот же код написанный в екселе в качестве макроса прекрасно работает. Я так понимаю проблема в том, что я пытаюсь определить функцию URLDownloadToFile из библиотеки «urlmon.dll».
Не подскажите как правильно написать чтобы заработало?
|
eremeev23rus Пользователь Сообщений: 24 |
#1 15.09.2015 11:10:40 Добрый день.
|
||
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
eremeev23rus, здравия. Можно в ВБА написать этот макрос, отладить и после перенести в ВБС. <#0> |
|
JayBhagavan, Спасибо, а данный макрос необходимо преобразовывать? |
|
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
eremeev23rus, а Вы попробуйте его так в ВБА запустить и узнаете. <#0> |
|
eremeev23rus Пользователь Сообщений: 24 |
#5 15.09.2015 11:29:20 JayBhagavan,
Подскажите, пожалуйста, что не так я сформировал? |
||
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
eremeev23rus, что не так я сходу не скажу. (у меня нет Вашего файла, с которым работает макрос) А что Вас не устраивает или на чём ошибка возникает, если она есть? <#0> |
|
JayBhagavan, при выполнении отображается ошибка: Предполагается наличие окончания инструкции, Код: 800A0401, ошибка компиляции. |
|
|
Влад Пользователь Сообщений: 1189 |
Нет в ВБС такие понятий как «Sheets» и «Cells» — это объекты книги/листа, поэтому должна быть указана полная ссылка на них. |
|
Влад, а можно пример? Для лучшего понимания. |
|
|
Влад Пользователь Сообщений: 1189 |
#10 15.09.2015 12:04:12 Пример:
|
||
|
Не удается сделать описаным методом. Может можно сделать, чтобы нажималась кнопка на листе в Excel? |
|
|
Hugo Пользователь Сообщений: 23101 |
Rows.Count возможно тоже непонятно для vbs. Изменено: Hugo — 15.09.2015 13:38:29 |
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
#13 15.09.2015 13:43:25
Изменено: JayBhagavan — 15.09.2015 14:09:42 <#0> |
|
|
Hugo Пользователь Сообщений: 23101 |
Ну и для vbs первой строкой нужно написать |
|
Hugo Пользователь Сообщений: 23101 |
Нашёл ещё нестыковку — в vbs нельзя писать |
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
#16 15.09.2015 13:55:51
Исправил.
То есть нужно убрать Sub, () и End Sub? <#0> |
||||
|
Hugo Пользователь Сообщений: 23101 |
Ещё — xlUp нужно заменить на -4162 |
|
Hugo Пользователь Сообщений: 23101 |
#18 15.09.2015 14:00:43
Да, или первой строкой вызывать этот sub |
||
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
#19 15.09.2015 14:10:23 Hugo, благодарю за Ваши замечая. Вроде все учёл. <#0> |
Перейти к содержимому раздела
TechnologiCS
Форумы TechnologiCS
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Дерево сообщений Активные темы Темы без ответов
Можно ли определить массив неявно
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
#1 20 февраля 2012 15:50:35

- snake
- Участник
- Неактивен
- Откуда: Чебоксары Версия TCS 6.3.0.0
- На форуме с 24 марта 2010
- Сообщений: 103
Тема: Можно ли определить массив неявно
Добрый день!
Помогите, пожалуйста, разобраться в VBScript.
При объявлении массива (Dim/Redim) было бы желательно использовать не явное число Dim Arr(8), а константу (жаль,переменную нельзя)
const kol=8
Dim Arr(kol)
Выдаётся ошибка «Предполагается наличие константы целого типа».
Попытка объявить Dim kol As Integer выдаёт сообщение «Предполагается наличие окончания инструкции».
Перепробовала много комбинаций.
В результате пока приходится объявлять массив, явно указывая число элементов.
Можно ли объявить массив и задать его размерность, не указывая явно число элементов.
#2 Ответ от Дмитрий Гамий 20 февраля 2012 16:32:52

- Дмитрий Гамий
- Техподдержка
- Неактивен
- Откуда: г.Днипро, CSoft Украина
- На форуме с 10 декабря 2008
- Сообщений: 748
Re: Можно ли определить массив неявно
При объявлении массива (Dim/Redim) было бы желательно использовать не явное число Dim Arr(8), а константу (жаль,переменную нельзя)
А почему бы не использовать динамический массив? Тогда бы ваш код выглядел бы так:
const kol=8 Dim Arr() ... Redim Arr(kol)
Попытка объявить Dim kol As Integer выдаёт сообщение «Предполагается наличие окончания инструкции»
В VBScript определение типа не имеет смысла, так как здесь есть только один тип — вариантный (объектный) .
#3 Ответ от snake 20 февраля 2012 16:46:03

- snake
- Участник
- Неактивен
- Откуда: Чебоксары Версия TCS 6.3.0.0
- На форуме с 24 марта 2010
- Сообщений: 103
Re: Можно ли определить массив неявно
Спасибо! Работает.
Сообщения 3
Тему читают: 1 гость
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться