Произошла исключительная ситуация ошибка выполнения microsoft vbscript

Товарищи помогите кто знает советом решить следующую проблему. Попытался в 1с использовать MSScriptControl, следующим образом: 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   При выполнении последнего оператора выдается ошибка: {Форма.Форма}: Ошибка при вызове метода контекста (AddCode): Произошла исключительная ситуация (Ошибка компиляции Microsoft VBScript): Предполагается наличие окончания инструкции Script.AddCode(СтрокаСкрипта);   по причине: Произошла исключительная ситуация (Ошибка компиляции Microsoft VBScript): Предполагается наличие окончания инструкции. Этот же код написанный в екселе в качестве макроса прекрасно работает. Я так понимаю проблема в том, что я пытаюсь определить функцию URLDownloadToFile из библиотеки «urlmon.dll». Не подскажите как правильно написать чтобы заработало?

to URLDownloadToFile Lib «»urlmon.dll»» Alias Насколько я помню, скриптовые языки от мс не поддерживают вывоз длл но может скорее всего есть какие-нибуть ole биилиотеки, через которые можно вызвать нужный метод.

+ из СП v8 HTTPСоединение (HTTPConnection) Получить (Get) Синтаксис: Получить(<Источник>, <Имя выходного файла>, <Заголовки>) Параметры: <Источник> (обязательный) Тип: Строка. Адрес ресурса на сервере. <Имя выходного файла> (обязательный) Тип: Строка. Имя файла, в который помещаются данные полученного ресурса. <Заголовки> (необязательный) Тип: Строка. Указываются заголовки, добавляемые к запросу на сервер. Текстовые пары вида <Заголовок>:<Значение>, разделяемые комбинацией ВК + ПС. Описание: Получает ресурс из указанного адреса.

А не подскажите тогда может есть какая-нибудь нормальная компонента для 8-ки с помощью которой можно страницы с интерента скачивать. Использовал всегда для этого такой код: Но почему-то с недавнего времени один из сайтов стал выдавать непонятную страницу в ответ. При этом если тот же адрес открывать через визуальный компонент «ПолеHTMLДокумента», он открывается нормально, но не хотелось бы задействовать визуальный объект, для которого нужно делать форму и т.д.

не знаю Поиграйтесь с разными  методами. возможно поле хтмл документа умеет читать настройки прокси или еще что, поэтому отображает . как альтернатавный вариант — внеш. компонента v7plus от 1с77 или ole библиотека winhttp на крайний вариант броузер IE  через OLE с этим справится. Возможно и в vbscript есть что-то.

>стал выдавать непонятную страницу в ответ. Чаще всего ответ содержится в этой странице. Тем более, что если раньше все нормально работало — проблема явно не в 1С и HTTPСоединение.

насколько я помню стоковые константы в vbs обрамляются одинарной, а не двойной кавычкой — а вообще тупо пихаешь код в текстовый vbs и запускаешь, сразу увидишь есть ошибки или нет )

Нашел альтернативу а вообще похоже МихаилМ прав: «Насколько я помню, скриптовые языки от мс не поддерживают вывоз длл »

Тэги:

Комментарии доступны только авторизированным пользователям

Как исправить время выполнения Ошибка 429 Ошибка 429 — ошибка времени выполнения Microsoft VBScript

В этой статье представлена ошибка с номером Ошибка 429, известная как Ошибка 429 — ошибка времени выполнения Microsoft VBScript, описанная как «Ошибка 429 — ошибка выполнения Microsoft VBScript. Компоненту ActiveX не удается создать объект: ‘Songs.DB.SDBApplication’. Файл:» «C: Program Files Media Monkey Scripts MM_HDDSerial.vbs» «, строка 40, столбец : 2. »

О программе Runtime Ошибка 429

Время выполнения Ошибка 429 происходит, когда MediaMonkey дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

Определения (Бета)

Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!

  • Activex . ActiveX — это проприетарная платформа Microsoft для определения и доступа к интерфейсам к системным ресурсам независимо от языка программирования.
  • Файл — блок произвольной информации или ресурс для хранения информации, доступный по строковому имени или пути.
  • Медиа — Медиа — это каналы хранения и передачи или инструменты, используемые для хранения и доставки информации или данных.
  • Monkey . Monkey — это программа, которая работает на эмуляторе Android или устройстве и генерирует псевдослучайные потоки пользовательских событий, таких как в виде щелчков, прикосновений или жестов, а также ряда событий системного уровня.
  • Объект — объект — это любой объект, которым можно управлять с помощью команд на языке программирования < / li>
  • Время выполнения — время выполнения — это время, в течение которого программа работает, выполняя
  • Ошибка выполнения — ошибка выполнения обнаруживается после или во время выполнения программы.
  • Vbscript — VBScript Vis ual Basic Scripting Edition — это интерпретируемый язык сценариев, разработанный Microsoft, созданный по образцу Visual Basic.
  • Файлы — блок произвольной информации или ресурс для хранения информации, доступный по строке на основе имени или пути
  • Компонент — «Компонент на унифицированном языке моделирования» представляет собой модульную часть системы, которая инкапсулирует ее содержимое и чье воплощение можно заменить в ее среде < / li>
  • Db — База данных — это организованный набор данных.
  • Сценарии — Сценарии — это форма программирования, обычно характеризующаяся низкой формальностью , свободная типизация и отсутствие требований явной компиляции
Симптомы Ошибка 429 — Ошибка 429 — ошибка времени выполнения Microsoft VBScript

Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.

Возможны случаи удаления файлов или появления новых файлов. Хотя этот симптом в основном связан с заражением вирусом, его можно отнести к симптомам ошибки времени выполнения, поскольку заражение вирусом является одной из причин ошибки времени выполнения. Пользователь также может столкнуться с внезапным падением скорости интернет-соединения, но, опять же, это не всегда так.

Fix Ошибка 429 - ошибка времени выполнения Microsoft VBScript (Error Ошибка 429)
(Только для примера)

Причины Ошибка 429 — ошибка времени выполнения Microsoft VBScript — Ошибка 429

При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.

Ошибки во время выполнения обычно вызваны несовместимостью программ, запущенных в одно и то же время. Они также могут возникать из-за проблем с памятью, плохого графического драйвера или заражения вирусом. Каким бы ни был случай, проблему необходимо решить немедленно, чтобы избежать дальнейших проблем. Ниже приведены способы устранения ошибки.

Методы исправления

Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.

Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.

Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.

Метод 1 — Закройте конфликтующие программы

Когда вы получаете ошибку во время выполнения, имейте в виду, что это происходит из-за программ, которые конфликтуют друг с другом. Первое, что вы можете сделать, чтобы решить проблему, — это остановить эти конфликтующие программы.

  • Откройте диспетчер задач, одновременно нажав Ctrl-Alt-Del. Это позволит вам увидеть список запущенных в данный момент программ.
  • Перейдите на вкладку «Процессы» и остановите программы одну за другой, выделив каждую программу и нажав кнопку «Завершить процесс».
  • Вам нужно будет следить за тем, будет ли сообщение об ошибке появляться каждый раз при остановке процесса.
  • Как только вы определите, какая программа вызывает ошибку, вы можете перейти к следующему этапу устранения неполадок, переустановив приложение.

Метод 2 — Обновите / переустановите конфликтующие программы

Использование панели управления

  • В Windows 7 нажмите кнопку «Пуск», затем нажмите «Панель управления», затем «Удалить программу».
  • В Windows 8 нажмите кнопку «Пуск», затем прокрутите вниз и нажмите «Дополнительные настройки», затем нажмите «Панель управления»> «Удалить программу».
  • Для Windows 10 просто введите «Панель управления» в поле поиска и щелкните результат, затем нажмите «Удалить программу».
  • В разделе «Программы и компоненты» щелкните проблемную программу и нажмите «Обновить» или «Удалить».
  • Если вы выбрали обновление, вам просто нужно будет следовать подсказке, чтобы завершить процесс, однако, если вы выбрали «Удалить», вы будете следовать подсказке, чтобы удалить, а затем повторно загрузить или использовать установочный диск приложения для переустановки. программа.

Использование других методов

  • В Windows 7 список всех установленных программ можно найти, нажав кнопку «Пуск» и наведя указатель мыши на список, отображаемый на вкладке. Вы можете увидеть в этом списке утилиту для удаления программы. Вы можете продолжить и удалить с помощью утилит, доступных на этой вкладке.
  • В Windows 10 вы можете нажать «Пуск», затем «Настройка», а затем — «Приложения».
  • Прокрутите вниз, чтобы увидеть список приложений и функций, установленных на вашем компьютере.
  • Щелкните программу, которая вызывает ошибку времени выполнения, затем вы можете удалить ее или щелкнуть Дополнительные параметры, чтобы сбросить приложение.

Метод 3 — Обновите программу защиты от вирусов или загрузите и установите последнюю версию Центра обновления Windows.

Заражение вирусом, вызывающее ошибку выполнения на вашем компьютере, необходимо немедленно предотвратить, поместить в карантин или удалить. Убедитесь, что вы обновили свою антивирусную программу и выполнили тщательное сканирование компьютера или запустите Центр обновления Windows, чтобы получить последние определения вирусов и исправить их.

Метод 4 — Переустановите библиотеки времени выполнения

Вы можете получить сообщение об ошибке из-за обновления, такого как пакет MS Visual C ++, который может быть установлен неправильно или полностью. Что вы можете сделать, так это удалить текущий пакет и установить новую копию.

  • Удалите пакет, выбрав «Программы и компоненты», найдите и выделите распространяемый пакет Microsoft Visual C ++.
  • Нажмите «Удалить» в верхней части списка и, когда это будет сделано, перезагрузите компьютер.
  • Загрузите последний распространяемый пакет от Microsoft и установите его.

Метод 5 — Запустить очистку диска

Вы также можете столкнуться с ошибкой выполнения из-за очень нехватки свободного места на вашем компьютере.

  • Вам следует подумать о резервном копировании файлов и освобождении места на жестком диске.
  • Вы также можете очистить кеш и перезагрузить компьютер.
  • Вы также можете запустить очистку диска, открыть окно проводника и щелкнуть правой кнопкой мыши по основному каталогу (обычно это C :)
  • Щелкните «Свойства», а затем — «Очистка диска».

Метод 6 — Переустановите графический драйвер

Если ошибка связана с плохим графическим драйвером, вы можете сделать следующее:

  • Откройте диспетчер устройств и найдите драйвер видеокарты.
  • Щелкните правой кнопкой мыши драйвер видеокарты, затем нажмите «Удалить», затем перезагрузите компьютер.

Метод 7 — Ошибка выполнения, связанная с IE

Если полученная ошибка связана с Internet Explorer, вы можете сделать следующее:

  1. Сбросьте настройки браузера.
    • В Windows 7 вы можете нажать «Пуск», перейти в «Панель управления» и нажать «Свойства обозревателя» слева. Затем вы можете перейти на вкладку «Дополнительно» и нажать кнопку «Сброс».
    • Для Windows 8 и 10 вы можете нажать «Поиск» и ввести «Свойства обозревателя», затем перейти на вкладку «Дополнительно» и нажать «Сброс».
  2. Отключить отладку скриптов и уведомления об ошибках.
    • В том же окне «Свойства обозревателя» можно перейти на вкладку «Дополнительно» и найти пункт «Отключить отладку сценария».
    • Установите флажок в переключателе.
    • Одновременно снимите флажок «Отображать уведомление о каждой ошибке сценария», затем нажмите «Применить» и «ОК», затем перезагрузите компьютер.

Если эти быстрые исправления не работают, вы всегда можете сделать резервную копию файлов и запустить восстановление на вашем компьютере. Однако вы можете сделать это позже, когда перечисленные здесь решения не сработают.

Другие языки:

How to fix Error 429 (Error 429 — Microsoft VBScript runtime error) — «Error 429 — Microsoft VBScript runtime error. ActiveX component can’t create object: ‘Songs.DB.SDBApplication’. File: «»C: Program FilesMedia MonkeyScriptsMM_HDDSerial.vbs»», Line 40, Column: 2.»
Wie beheben Fehler 429 (Fehler 429 — Microsoft VBScript-Laufzeitfehler) — «Fehler 429 — Microsoft VBScript-Laufzeitfehler. ActiveX-Komponente kann Objekt nicht erstellen: ‘Songs.DB.SDBApplication’. Datei: «»C: Program FilesMedia MonkeyScriptsMM_HDDSerial.vbs»», Zeile 40, Spalte : 2.»
Come fissare Errore 429 (Errore 429 — Errore di runtime di Microsoft VBScript) — «Errore 429 — Errore di runtime Microsoft VBScript. Il componente ActiveX non può creare l’oggetto: ‘Songs.DB.SDBApplication’. File: «»C: ProgrammiMedia MonkeyScriptsMM_HDDSerial.vbs»», Riga 40, Colonna : 2.»
Hoe maak je Fout 429 (Fout 429 — Microsoft VBScript runtime-fout) — «Fout 429 — Microsoft VBScript runtime-fout. ActiveX-component kan geen object maken: ‘Songs.DB.SDBApplication’. Bestand: «»C: Program FilesMedia MonkeyScriptsMM_HDDSerial.vbs»», regel 40, kolom : 2.»
Comment réparer Erreur 429 (Erreur 429 — Erreur d’exécution Microsoft VBScript) — «Erreur 429 — Erreur d’exécution Microsoft VBScript. Le composant ActiveX ne peut pas créer d’objet : ‘Songs.DB.SDBApplication’. Fichier : «»C: Program FilesMedia MonkeyScriptsMM_HDDSerial.vbs»», ligne 40, colonne : 2.»
어떻게 고치는 지 오류 429 (오류 429 — Microsoft VBScript 런타임 오류) — «오류 429 — Microsoft VBScript 런타임 오류입니다. ActiveX 구성 요소가 개체를 만들 수 없습니다: ‘Songs.DB.SDBApplication’. 파일: «»C: Program FilesMedia MonkeyScriptsMM_HDDSerial.vbs»», 줄 40, 열 : 2.»
Como corrigir o Erro 429 (Erro 429 — erro de tempo de execução do Microsoft VBScript) — «Erro 429 — Erro de tempo de execução do Microsoft VBScript. O componente ActiveX não pode criar o objeto: ‘Songs.DB.SDBApplication’. Arquivo:» «C: Arquivos de programas Media Monkey Scripts MM_HDDSerial.vbs» «, Linha 40, Coluna : 2. «
Hur man åtgärdar Fel 429 (Fel 429 — Microsoft VBScript runtime error) — «Fel 429 — Microsoft VBScript -körtidsfel. ActiveX -komponent kan inte skapa objekt: ‘Songs.DB.SDBA -applikation’. Fil:» «C: Program Files Media Monkey Scripts MM_HDDSerial.vbs» «, rad 40, kolumn : 2. «
Jak naprawić Błąd 429 (Błąd 429 — błąd wykonawczy Microsoft VBScript) — «Błąd 429 — Błąd wykonania Microsoft VBScript. Składnik ActiveX nie może utworzyć obiektu: ‘Songs.DB.SDBApplication’. Plik: «»C: Program FilesMedia MonkeyScriptsMM_HDDSerial.vbs»», wiersz 40, kolumna : 2.»
Cómo arreglar Error 429 (Error 429: error en tiempo de ejecución de Microsoft VBScript) — «Error 429 — Error de tiempo de ejecución de Microsoft VBScript. El componente ActiveX no puede crear el objeto: ‘Songs.DB.SDBApplication’. Archivo:» «C: Archivos de programa Media Monkey Scripts MM_HDDSerial.vbs» «, línea 40, columna : 2. «

The Author Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.

Следуйте за нами: Facebook Youtube Twitter

Рекомендуемый инструмент для ремонта:

Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.

ШАГ 1:

Нажмите здесь, чтобы скачать и установите средство восстановления Windows.

ШАГ 2:

Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.

ШАГ 3:

Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.

СКАЧАТЬ СЕЙЧАС

Совместимость

Требования

1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.

ID статьи: ACX04029RU

Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000

Совет по увеличению скорости #59

Очистите свой компьютер изнутри и снаружи:

Ваш компьютер также нуждается в регулярной чистке снаружи. Пыль и другие частицы довольно быстро накапливаются на вашем компьютере и его периферийных устройствах. Перегрев и отказ компонентов устройства могут произойти, если ваша клавиатура, мышь, экран и внутренняя часть вашего ПК не чистые.

Нажмите здесь, чтобы узнать о другом способе ускорения работы ПК под управлением Windows

инструкции

 

To Fix (VBScript Error?) error you need to
follow the steps below:

Шаг 1:

 
Download
(VBScript Error?) Repair Tool
   

Шаг 2:

 
Нажмите «Scan» кнопка
   

Шаг 3:

 
Нажмите ‘Исправь все‘ и вы сделали!
 

Совместимость:
Windows 10, 8.1, 8, 7, Vista, XP
Загрузить размер: 6MB
Требования: Процессор 300 МГц, 256 MB Ram, 22 MB HDD

Limitations:
This download is a free evaluation version. Full repairs starting at $19.95.

Ошибка VBScript? обычно вызвано неверно настроенными системными настройками или нерегулярными записями в реестре Windows. Эта ошибка может быть исправлена ​​специальным программным обеспечением, которое восстанавливает реестр и настраивает системные настройки для восстановления стабильности

Если у вас ошибка VBScript? то мы настоятельно рекомендуем вам

Скачать (VBScript Error?) Repair Tool.

This article contains information that shows you how to fix
VBScript Error?
both
(manually) and (automatically) , In addition, this article will help you troubleshoot some common error messages related to VBScript Error? that you may receive.

Примечание:
Эта статья была обновлено на 2023-01-24 и ранее опубликованный под WIKI_Q210794

Ошибка или неточность, вызванная ошибкой, совершая просчеты о том, что вы делаете. Это состояние неправильного суждения или концепции в вашем поведении, которое позволяет совершать катастрофические события. В машинах ошибка — это способ измерения разницы между наблюдаемым значением или вычисленным значением события против его реального значения.

Это отклонение от правильности и точности. Когда возникают ошибки, машины терпят крах, компьютеры замораживаются и программное обеспечение перестает работать. Ошибки — это в основном непреднамеренные события. В большинстве случаев ошибки являются результатом плохого управления и подготовки.

Причины ошибки VBScript ??

If you have received this error on your PC, it means that there was a malfunction in your system operation. Common reasons include incorrect or failed installation or uninstallation of software that may have left invalid entries in your Windows registry, consequences of a virus or malware attack, improper system shutdown due to a power failure or another factor, someone with little technical knowledge accidentally deleting a necessary system file or registry entry, as well as a number of other causes. The immediate cause of the «VBScript Error?» error is a failure to correctly run one of its normal operations by a system or application component.

More info on
VBScript Error?

РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы.

corrects the issue…Will update thread upon completion of scan….
 

Thank You:Scott

**Note — I am running Malwarebytes to see if this
Ошибка .asp Ошибка выполнения Microsoft VBScript «800a01a8»

Удалите строку, которую вы не хотите.


Может ли кто-нибудь помочь мне с этой ошибкой VBScript?

ps Потому что он разбивается на две строки, для получения дополнительной информации.

  your string! but it dosn’t on this site for some reason.Click to expand…

The arrow should be pointing to the end of the line you need something to signify it. It’s

См. Эту ссылку ps


Ошибка VBScript 2738 — больше и больше и …

Можно ли исправить это навсегда? попробуйте установить / удалить программное обеспечение, загрузочный файл примера Fox, HP ProtectTools и т. д.

Здравствуйте,
I often have a problem «VBScript Error 2738» when I it with Administrative Privilege.

Убедитесь, что ваш бег


Ошибка выполнения vbscript


Ошибка времени выполнения VBScript

Я продолжаю получать ошибку 800a01f4 при запуске запросов на основе почтового кода. Что вызывает это и как его вылечить?


регистрация ошибок vbscript.dll

Я попробовал обычную команду через run и im, пытаясь зарегистрировать vbscript.dll. microsoft.com снова, но я все равно получаю ту же ошибку. Поэтому я попытался загрузить vbscript-движок из справки plz. Может кто-нибудь

Я получаю эту ошибку при вводе regsvr32 c: Windows System32 VBScript.dll, но он говорит, что регистр dll не удался.


Ошибка 2738 vbscript

Попробуйте загрузить, установить и использовать Revo Revo Uninstaller Freeware — бесплатное программное обеспечение для загрузки и удаления других программ. Я был в состоянии надеяться, что пункт, чтобы убедиться, что это сделано полностью (и, скорее всего, преуспеет). Хорошо

намного превосходит msconfig и отличный инструмент). Любой программный обзор — удалить и очистить утилиту от SnapFiles, чтобы удалить эти две программы. Загрузите, установите и запустите Autoruns: Autoruns для Windows (это идеи?

Они, вероятно, сейчас будут нормально удалены, но я рекомендую вам перейти к следующему сбою или не выполнить надлежащую работу. для удаления weatherbug и диспетчера настольных компьютеров Blackberry. Он часто работает, когда Vista удаляет удачу!

Я получаю эту ошибку, когда это помогает.


Ошибка выполнения Vbscript Runtime

Сценарий: C: windows system32 hosts.vbs
Линия: 6
Char: 1
Ошибка: разрешение отклонено
Код: 800A0046
Источник: Microsoft, я открываю учетную запись пользователя в WINXP HOME .. Спасибо заранее.

  Здравствуйте,
У меня есть окно, когда ошибка времени выполнения VBscript

Это потенциальная проблема, поскольку все, кажется, работает нормально?


Синтаксическая ошибка VBScript

Since my PC has very little idle time, I decided to run a .vbs at initial boot of the day to create a restore point. I copied it and ran You don’t have comments or it, and things went flawlessly. anything at all preceeding this?

The error message you’re receiving must be in error (its hard to mess up that option explicit line )

Это весь сценарий?


Номер ошибки VBScript 0x080070002

VBscript, который использовался для запуска макроса в программе под названием Atoll, больше не работает.

Здравствуй,
recently our company has upgraded explorer application) to get data input then carries out the rest of the script. I get the error «Error Number 0x80070002, line 88

программа отображает objExplorer (Интернет от XP до Windows 7.


Объединение файлов VBScript в один без ошибок

  который добавляет именованные диапазоны для каждого файла excel.

Всем привет,

У меня есть файлы 4 VBScript


Ошибка компиляции Microsoft Vbscript

Администраторы удаляют этот пост, поскольку я не мог понять
ошибка. Сожалею.

как удалить его, только как его отредактировать.


Ошибка выполнения VBScript «800a01a8»

Я запускаю IE 5.5 и повторно устанавливаю результат. Это может быть правильно, поскольку я смог
Мой контакт в бизнесе говорит, что он верит в журнал и доступ к данным с другого компьютера. Я попробовал сбросить настройки параметров инструментов IE до средней безопасности и расширенные настройки по умолчанию с тем же результатом.

Это проблема с моим компьютером. Благодаря!

  идеи, пожалуйста? То же самое, думая, что это может быть проблема с браузером.


Ошибка VBScript при открытии веб-страницы

Нажмите здесь и посмотрите, как какой-то человек хотел бы обучить меня, я был бы очень благодарен. Я запускаю Norton AntiVirus, но отключение этого не имеет никакого значения. Если это помогает.


Ошибка выполнения Microsoft VBScript «800a000d» HELP

Я использую сервер 1.0a? Обратитесь к клику здесь: EN-US; 219160
Запускаете ли вы Asp.exe на личном веб-сайте, когда я пытаюсь заказать с защищенного веб-сайта. Может ли кто-нибудь помочь.
Привет, я получаю следующее сообщение об ошибке «Ошибка 800a000d» в Microsoft Windows VBScript недавно. У меня была эта проблема с AOL с XP.


Ошибка выполнения Microsoft VBScript «800a0009»


Ошибка выполнения Microsoft VBScript «800a01a8»

Когда я пытаюсь зарегистрироваться в чате, я в сети, или же это какая-то другая программа? Поэтому, если кто-то может помочь мне избавиться от этой проблемы. Если это IE, проблема не в брандмауэре, который блокирует VBS …

Я предполагаю, что вы используете IE для регистрации деталей немного? благодаря

на вашей стороне стены … Можете ли вы объяснить эту ошибку, когда я попытаюсь представить свои данные. Благодаря!!!!!!

Если вы не позади, поэтому я могу получить доступ к чатам, это было бы фантастически!


Ошибка 2738. Не удалось получить доступ к времени выполнения VBScript для

что он преуспел. Вы должны получить
Я пытаюсь установить 4oD на своих рекомендациях, чтобы что-то делать, но я не уверен, должен ли я просто ввести его? Не удалось получить доступ к времени выполнения VBScript для пользовательских действий. Я видел форум (щелкните здесь), что vista computer, но это сообщение об ошибке появляется. Error 2738.

Затем повторите попытку 4od.


Ошибка выполнения Microsoft VBScript «800a01a8»

чтобы этот скрипт работал.

Привет,

Нужна некоторая помощь, набрав его в Google.

  У меня есть список пользователей, которые я отсортировал по группам, чтобы отправлять разные электронные письма.

Любая помощь Эта информация, которую я нашел, очень ценится.


Ошибка выполнения Microsoft VBScript «800a01ad»

Я получаю это

/SearchResults.asp, строка 79
not sure what the deal is with this… Microsoft VBScript runtime error ‘800a01ad’

ActiveX component can’t create object error on the web server. Really would like it if I didn’t have to reboot this machine.

  Какую версию Windows и версию браузера вы используете?


вот процедурка:

Процедура КнопкаВыполнитьНажатие(Кнопка)        

scrptCtrl = Новый COMОбъект(«MSScriptControl.ScriptControl»);

scrptCtrl.Language = «vbscript»;

scrptCtrl.AddCode(»

|Function RemoveUserGroup()

|sUser = «+»»»0824@gradient-alpha.local»»

|sProga = «+»»»c:Program Files1Cv77BIN1cv7s.exe config /D \it11Basulka»»

|sPass = «+»»»kbnk@dbyu»»»+»&VBCRLF

|dim WshShell

|set WshShell = «+»WScript.CreateObject(«+»»»WScript.Shell»»»+»)

|rc=WshShell.Run(«+»»»runas /user:»»»+» & sUser & «+»»» «»»+» & CHR(34) & sProga & CHR(34), 2, FALSE)

|WScript.Sleep(250)

|WshShell.SendKeys sPass

|End Function»);

scrptCtrl.Run(«RemoveUserGroup»);

КонецПроцедуры

при выполнении выподает с ошибкой:

Ошибка при вызове метода контекста (Run): Произошла исключительная ситуация (Ошибка выполнения Microsoft VBScript): Требуется объект: ‘WScript’

scrptCtrl.Run(«RemoveUserGroup»);

по причине:

Произошла исключительная ситуация (Ошибка выполнения Microsoft VBScript): Требуется объект: ‘WScript’

синтаксически все правильно, т.к. запустил vbs-файл руками с темже содержанием, ошибка в другом…в чем????

Код: вываливает ошибку: {Форма.Форма}: Ошибка при вызове метода контекста (AddCode): Произошла исключительная ситуация (Ошибка выполнения Microsoft VBScript): Требуется объект: ‘WScript’ по причине: Произошла исключительная ситуация (Ошибка выполнения Microsoft VBScript): Требуется объект: ‘WScript’

Объект WScript доступен только в контексте WSH, т.е. при запуске wscript.exe или cscript.exe…

потому что это плохая манера — юзать то, что может не работать или устанавливается отдельно или установлено не той версии…

спасибо. посоветуйте как красиво реализовать паузу в 1С. PS отдельное спасибо модеру :)

КомандаСистемы(«timeout /t 10 /nobreak»)

Сообщить(ТекущаяДата); мигает черное окно, но паузы нет

Позырь, если не по душе, могу более «изящный» метод предложить

XP SP1 с удовольствием рассмотрю альтернативные варианты :)

Могу предложить тикую идею (если не получиться не бейте) 1. надо сделать пустую форму (обработку) 2. ПодключитьОбработчикОжидания — в нем по истечении времени будет закрываться активная форма 3. открыть форму модально (в обработчике формы сделать ее не видимой) далее произойдет сабытие и обработчик отключиться, при этом 1с не будет жрать ЦП если кто сделает киньте мне на мыло, плиз…

интересная идея с обработчиком ожидания спасибо, обязательно посмотрю.

Тэги:

Комментарии доступны только авторизированным пользователям

Студворк — интернет-сервис помощи студентам

Есть скрипт:

Visual Basic
1
2
3
4
5
6
7
8
9
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshNetwork = WScript.CreateObject("WScript.Network")
LotusPath = "C:Users" & WshNetwork.UserName & "Lotus"
 
'Проверяем наличие папки Lotus в перемещаемом профиле, если такой папки не существует, то создаем ее
If FSO.FolderExists(LotusPath) = False Then
    FSO.CreateFolder(LotusPath)
    robocopy "C:Program Files (x86)Lotus" "C:Users%USERNAME%Lotus" "notes.ini"
End If

При запуске ругается:
Строка:8
Символ:42
(это буква «L» после «(x86)»)
Ошибка:Предполагается наличие окончания инструкции

Если эту строчку скопировать и запустить в cmd под тем же пользователем, она без проблем отрабатывается.
Что ОНО хочет от меня?

Добавлено через 18 минут
Поправка!Строка:8
Символ:42
(это первый символ второго параметра: «C:Users%USERNAME%Lotus»)

I am trying to insert some records into MS Access Table with the help of below VB Script. But when am trying to execute it, it’s throwing Compilation error: Expected end of statement. Could someone please help me figure out where am I going wrong.

Private Sub Form_Click()
Dim dbs         As DAO.Database
Dim DbFullNAme  As String

DbFullName = "D:GDiamondFINAL MS-AccessMS-Access project.accdb"
Set dbs = OpenDatabase(DbFullName)

dbs.Execute "INSERT INTO [2014_Status] ( Prompt, Project_Name, STATUS,Release_Name )SELECT     RoadMap.SPRF_CC, RoadMap.SPRF_Name, RoadMap.Project_Phase,RoadMap.Release_Name FROM RoadMap WHERE (((Exists (select 1 FROM [2014_Status] where RoadMap.SPRF_CC = [2014_Status].[Prompt]))=False));"
dbs.Close
End Sub

Pankaj Jaju's user avatar

Pankaj Jaju

5,3412 gold badges25 silver badges41 bronze badges

asked Apr 23, 2014 at 17:14

user2412576's user avatar

6

VBScript (as opposed to VBA or other dialects) does not support typed Dims. So

Dim dbs         As DAO.Database
Dim DbFullNAme  As String

need to be

Dim dbs
Dim DbFullNAme

VBscript has no native OpenDatabase() function. You need to use ADO to connect to your Access ‘database’. First create a connection

Set dbs = CreateObject("ADODB.Connection")

Then determine the connection string and

dbs.Open cs

The rest of your code should work.

Update wrt comment:

The error message:

D:GDiamondFINAL MS-Accessquery1.vbs(2, 9) Microsoft VBScript compilation error: Expected end of statement

prooves that the OT tried to write a VBScript (the addition of the misleading vba/access tags is (C) Pankaj Jaju).

answered Apr 23, 2014 at 17:29

Ekkehard.Horner's user avatar

Ekkehard.HornerEkkehard.Horner

38.4k2 gold badges44 silver badges94 bronze badges

3

So lets break down the real reason why this code doesn’t work.

You copied and pasted Visual Basic for Applications(VBA) into a .VBS(Visual Basic Script) file and expected it to work, I assume.

The problem with this is that VBA and VBScript are slightly different languages. Review the info section for both tags on stackoverflow when you get the opportunity.

For now lets just patch your code and maintain your DAO object so you don’t have to reconstruct your Database usage with ADODB.

ExecuteInsert
Sub ExecuteInsert()
    Dim dbs, DbFullName, acc
    Set acc = createobject("Access.Application")

    DbFullName = "D:GDiamondFINAL MS-AccessMS-Access project.accdb"
    Set dbs = acc.DBEngine.OpenDatabase(DbFullName, False, False)
    dbs.Execute "INSERT INTO [2014_Status] ( Prompt, Project_Name, STATUS,Release_Name )SELECT     RoadMap.SPRF_CC, RoadMap.SPRF_Name, RoadMap.Project_Phase,RoadMap.Release_Name FROM RoadMap WHERE (((Exists (select 1 FROM [2014_Status] where RoadMap.SPRF_CC = [2014_Status].[Prompt]))=False));"
    dbs.Close
    msgbox "done"
End Sub

Changes made.

  1. Blocked your dim’d variables and removed As *** statements for vbscript compatibility
  2. Set an access object so you could maintain the remainder of your code.
  3. Added the acc.DBEngine. before OpenDatabase with additional parameters.
  4. Renamed your Sub from Form_Click to ExecuteInsert, then placed ExecuteInsert at the top of the code so that the vbscript activates the sub. If you just place a sub in a vbscript file, it will not necessarily run, you have to activate it directly.

This code is tested and functions. Best of luck to you.

answered Apr 23, 2014 at 19:20

Rich's user avatar

RichRich

4,1043 gold badges26 silver badges44 bronze badges

1

Adding to Ekkehard.Horner
http://www.csidata.com/custserv/onlinehelp/vbsdocs/vbs6.htm

VBScript has only one data type called a Variant. A Variant is a
special kind of data type that can contain different kinds of
information, depending on how it’s used. Because Variant is the only
data type in VBScript, it’s also the data type returned by all
functions in VBScript.

answered Apr 23, 2014 at 17:32

0

  • Remove From My Forums
  • Question

  • Доброго времени суток.
    В организации на 250+ машинах сетевые параметры адаптеров установлены статикой (sic), необходимо заставить брать их по DHCP. Нашел пару скриптов, наиболее подходящим показался VBS (с которым я совершенно не знаком), т.к.
    другой предполагает указание имени сетевого подключения (например, «Подключение по локальной сети»). Сам скрипт:
    WMIC Path Win32_NetworkAdapterConfiguration Where «IPEnabled = True» Call SetDNSServerSearchOrder 

    WMIC 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

Answers

  • Как я уже говорил с vbs не сталкивался, решение предложенное в той теме Aleksey.T

    выдает: строка 1, символ 1, несоответствие типа ‘Code’, код: 800A000D

    НО оказывается якобы vbs скрипт который я привел использует обычные команды wmic.exe, которые можно использовать в пакетном файле и это работает. Тема закрыта.

    • Marked as answer by
      Копылов Анатолий
      Friday, September 19, 2014 8:47 AM

  • Remove From My Forums
  • Question

  • Доброго времени суток.
    В организации на 250+ машинах сетевые параметры адаптеров установлены статикой (sic), необходимо заставить брать их по DHCP. Нашел пару скриптов, наиболее подходящим показался VBS (с которым я совершенно не знаком), т.к.
    другой предполагает указание имени сетевого подключения (например, «Подключение по локальной сети»). Сам скрипт:
    WMIC Path Win32_NetworkAdapterConfiguration Where «IPEnabled = True» Call SetDNSServerSearchOrder 

    WMIC 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

Answers

  • Как я уже говорил с vbs не сталкивался, решение предложенное в той теме Aleksey.T

    выдает: строка 1, символ 1, несоответствие типа ‘Code’, код: 800A000D

    НО оказывается якобы vbs скрипт который я привел использует обычные команды wmic.exe, которые можно использовать в пакетном файле и это работает. Тема закрыта.

    • Marked as answer by
      Копылов Анатолий
      Friday, September 19, 2014 8:47 AM
  • Remove From My Forums
  • Вопрос

  • Вот текст скрипта:

    Const ADS_PROPERTY_DELETE = 4
    Const E_ADS_PROPERTY_NOT_FOUND  = &h8000500D

    strOU = «OU=Test,OU=Users,DC=name,DC=ru»

    Set objConnection = CreateObject(«ADODB.Connection»)
    objConnection.Open «Provider=ADsDSOObject;»
     Set objCommand = CreateObject(«ADODB.Command»)
    objCommand.ActiveConnection = objConnection
    objCommand.CommandText = _
        «<LDAP://dc=name,dc=ru>;(objectCategory=Group);» & _

            «distinguishedName,primaryGroupToken;subtree»  

    Set objRecordSet = objCommand.Execute

     
    objCommand.CommandText = _
      «<LDAP://» & strOU & «>;» & _
      «(&(objectclass=user)(objectcategory=person));» & _
      «adspath,distinguishedname,sAMAccountName;subtree»
    Set objRecordSet = objCommand.Execute

    dim arrUsers()
    dim intUserCount
    intUserCount = -1

    Do Until objRecordSet.EOF
      intUserCount = intUserCount + 1
      ReDim Preserve arrUsers(intUserCount)
      arrUsers(intUserCount) = «LDAP://DC1:389/» & objRecordSet.Fields(«distinguishedname»).Value
      objRecordSet.MoveNext

    Loop
    for i = 0 to UBound(arrUsers)
         WScript.Echo «arrUsers(» & i & «) = » & arrUsers(i)
         WScript.Echo

         

         Set objUser = GetObject(arrUsers(i))
         arrMemberOf = objUser.GetEx(«memberOf»)
        ‘ WScript.Echo arrMemberOf
         If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then
             WScript.Echo «The memberOf attribute is not set.»

        Else
            For Each Group in arrMemberOf Set objGroup = GetObject(Group)_
             objGroup.PutEx ADS_PROPERTY_DELETE, _
             «member», arrUsers (i)
             objGroup.SetInfo
            Next
        End If
    next

    При запуске скрипта появляется Ошибка компиляции Microsoft VBScript: Предполагается наличие окончания инструкции

    в строке For Each Group in arrMemberOf Set objGroup = GetObject(Group)_

    Подскажите пожалуйста в чем моя ошибка?

Ответы

  • Вот финальный поправленный скрипт. Проверенно работает.

    On Error Resume Next

    Const ADS_PROPERTY_DELETE = 4

    strOU = «OU=Test,OU=Users,OU=FMS,DC=noname,DC=com»

    Set objConnection = CreateObject(«ADODB.Connection»)
    objConnection.Open «Provider=ADsDSOObject;»
     Set objCommand = CreateObject(«ADODB.Command»)
    objCommand.ActiveConnection = objConnection

    objCommand.CommandText = _
      «<LDAP://» & strOU & «>;» & _
      «(&(objectclass=user)(objectcategory=person));» & _
      «adspath,distinguishedname,sAMAccountName;subtree»
    Set objRecordSet = objCommand.Execute

    dim arrUsers()
    dim intUserCount
    intUserCount = -1

    Do Until objRecordSet.EOF
      intUserCount = intUserCount + 1
       ReDim Preserve arrUsers(intUserCount)
      arrUsers(intUserCount) = objRecordSet.Fields(«distinguishedname»).Value
       objRecordSet.MoveNext

    Loop

    for i = 0 to UBound(arrUsers)
        ‘ WScript.Echo «arrUsers(» & i & «) = » & arrUsers(i)
         WScript.Echo
         ‘»LDAP://» &

        
         strLDAPUser = «LDAP://» & arrUsers(i)

         Set objUser = GetObject(strLDAPUser) ‘ <================================================
         ErrNumber1 = Err.Number
         ErrDescription1 = Err.Description

        arrMemberOf = objUser.GetEx(«memberOf») ‘ <================================================
        ErrNumber0 = Err.Number
        ErrDescription0 = Err.Description   

        if ErrNumber0 = -2147463155 then
            WScript.Echo «strLDAPUser = » & strLDAPUser
            WScript.Echo «The memberOf attribute is not set.»
        else
            If not ErrNumber1 = 0 Then
                WScript.Echo «strLDAPUser = » & strLDAPUser
                WScript.Echo «Err.Number1 = » & ErrNumber1
                WScript.Echo «Err.Description1 = » & ErrDescription1

            elseif ErrNumber1 = 0 then

                    For Each Group in arrMemberOf

                        strLDAP = «LDAP://» & Group
                        Set objGroup = GetObject(strLDAP) ‘ <================================================
                        ErrNumber2 = Err.Number
                        ErrDescription2 = Err.Description

                        if not ErrNumber2 = 0 then
                            WScript.Echo «strLDAPUser = » & strLDAPUser
                            WScript.Echo «Err.Number2 = » & ErrNumber2

                            WScript.Echo «Err.Description2 = » & ErrDescription2            

                            WScript.Echo «strLDAP = » & strLDAP            

                        else
                            objGroup.PutEx ADS_PROPERTY_DELETE, «member», Array(arrUsers(i))

                            objGroup.SetInfo ‘ <================================================
                            ErrNumber3 = Err.Number
                            ErrDescription3 = Err.Description
                            if not ErrNumber3 = 0 then
                                WScript.Echo «strLDAPUser = » & strLDAPUser
                                WScript.Echo «Err.Number3 = » & ErrNumber3

                                WScript.Echo «Err.Description3 = » & ErrDescription3
                            else
                            ‘
                            end if
                        end if
                    Next
            Else
                WScript.Echo «strLDAPUser = » & strLDAPUser
                WScript.Echo «Err.Number1 = » & ErrNumber1
                WScript.Echo «Err.Description1 = » & ErrDescription1
            End If
        end if
    next

    objRecordSet.Close
    Set objRecordSet = Nothing
    Set objCommand = Nothing
    objConnection.Close
    Set objConnection = Nothing
    WScript.quit

    • Помечено в качестве ответа

      29 сентября 2011 г. 12:32

Товарищи помогите кто знает советом решить следующую проблему.

Попытался в 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».

Не подскажите как правильно написать чтобы заработало?

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

1 2018-03-21 00:46:44

  • badhabit
  • Участник
  • Неактивен
  • Рейтинг : [0|0]

Тема: VBS: не получается сделать массив структур с массивом )

Добрый день. Не знаю правильно ли я использовал терминологию в заголовке, все ж С/С++ ближе… Но есть потребность сделать динамический массив структур, в свою очередь каждая из которых тоже содержит «мембером» динамический массив… Попробовал вот так:


Option Explicit

Main

Function Main
	Dim arr(), i
	For i = 0 To 10
		ReDim Preserve arr(i)
		Set arr(i) = New struct
		arr(i).sVar1 = "str" & i & " var1"
		arr(i).sVar2 = "str" & i & " var2"
		
		Dim j
		For j = 0 To 10
			ReDim Preserve arr(i).aArr(j)
			arr(i).aArr(j) = 121212 + j
		Next		
	Next
	
	For i = 0 To UBound(arr)
		WScript.Echo "i: " & i & " var1: " & arr(i).sVar1 & " var2: " & arr(i).sVar2
	Next
	
End Function


Class struct
  Public aArr()
  Public sVar1
  Public svar2  
End Class

На строке

ReDim Preserve arr(i).aArr(j)

валится с ошибкой:

Ошибка компиляции Microsoft VBScript: Предполагается наличие окончания инструкции

Подскажите, что делаю не так…

2 Ответ от Xameleon 2018-03-21 14:37:31

  • Xameleon
  • Разработчик
  • Неактивен

Re: VBS: не получается сделать массив структур с массивом )

badhabit, а можно увидеть скрипт целиком ? А то объявления struct не видно.

На первый взгляд, как я понимаю, беда в том, что Вы пытаетесь «редимить» свойство объекта. К сожалению, VBScript хочет после Redim получить прямую ссылку на массив. Думаю в Вашем случае может помочь что-то типа:


Option Explicit

Main

Function Main
	Dim arr(), i, propArray
	For i = 0 To 10
		ReDim Preserve arr(i)
		Set arr(i) = New struct
		arr(i).sVar1 = "str" & i & " var1"
		arr(i).sVar2 = "str" & i & " var2"
		
		Dim j
		propArray = arr(i).aArr
		For j = 0 To 10
			ReDim Preserve propArray(j)
			propArray(j) = 121212 + j
		Next
		arr(i).aArr = propArray		
	Next
	
	For i = 0 To UBound(arr)
		WScript.Echo "i: " & i & " var1: " & arr(i).sVar1 & " var2: " & arr(i).sVar2
	Next
	
End Function

Не уверен, что Вы выбрали правильный путь. Думаю всё-таки стоит взглянуть на всю картину целиком.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3 Ответ от badhabit 2018-03-21 16:28:20 (изменено: badhabit, 2018-03-21 19:29:16)

  • badhabit
  • Участник
  • Неактивен
  • Рейтинг : [0|0]

Re: VBS: не получается сделать массив структур с массивом )

Xameleon, так я привёл весь скрипт, просто проскролить надо, в самом низу есть объявление класса struct
Пс. Ваш способ попробую

4 Ответ от badhabit 2018-03-21 20:32:29

  • badhabit
  • Участник
  • Неактивен
  • Рейтинг : [0|0]

Re: VBS: не получается сделать массив структур с массивом )


Option Explicit

Main

Function Main
	Dim arr(), i, propArray
	For i = 0 To 10
		ReDim Preserve arr(i)
		Set arr(i) = New struct
		arr(i).sVar1 = "str" & i & " var1"
		arr(i).sVar2 = "str" & i & " var2"
		
		Dim j
		propArray = arr(i).aArr
		For j = 0 To 10
			ReDim Preserve propArray(j)
			propArray(j) = 121212 + j
		Next
		arr(i).aArr = propArray		
	Next
	
	Dim k
	For i = 0 To UBound(arr)
		WScript.Echo "i: " & i & " var1: " & arr(i).sVar1 & " var2: " & arr(i).sVar2
		Dim zzz()
		zzz = arr(i).aArr
		For k = 0 To UBound(zzz) - 1
			WScript.Echo zzz(k)
		Next
	Next	 
	
End Function


Class struct
  Public aArr()
  Public sVar1
  Public svar2  
End Class

теперь ругается тут

говрит
несоответствие типа

5 Ответ от Xameleon 2018-03-22 13:37:20

  • Xameleon
  • Разработчик
  • Неактивен

Re: VBS: не получается сделать массив структур с массивом )

badhabit,

badhabit пишет:

Xameleon, так я привёл весь скрипт, просто проскролить надо, в самом низу есть объявление класса struct

Прошу прощения. Не заметил.

Тогда вот так можно сделать:

Option Explicit

Main

Function Main
	Dim arr(), i, propArray
	For i = 0 To 10
		ReDim Preserve arr(i)
		Set arr(i) = New struct
		arr(i).sVar1 = "str" & i & " var1"
		arr(i).sVar2 = "str" & i & " var2"
		
		Dim j
		propArray = arr(i).aArr
		For j = 0 To 10
			ReDim Preserve propArray(j)
			propArray(j) = 121212 + j
		Next
		arr(i).aArr = propArray		
	Next
	
	Dim k
	For i = 0 To UBound(arr)
		WScript.Echo "i: " & i & " var1: " & arr(i).sVar1 & " var2: " & arr(i).sVar2
		Dim zzz
		zzz = arr(i).aArr
		For k = 0 To UBound(zzz) - 1
			WScript.Echo zzz(k)
		Next
	Next	 
	
End Function


Class struct
	Public aArr
	Public sVar1
	Public svar2
	Private Sub Class_Initialize()
		aArr = Array()
	End Sub
End Class

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

6 Ответ от badhabit 2018-03-25 11:45:39

  • badhabit
  • Участник
  • Неактивен
  • Рейтинг : [0|0]

Re: VBS: не получается сделать массив структур с массивом )

Xameleon, спасибо большое. Все заработало. Вот ещё ссылка по теме https://stackoverflow.com/questions/480 … n-vbscript

7 Ответ от Xameleon 2018-03-25 16:19:00

  • Xameleon
  • Разработчик
  • Неактивен

Re: VBS: не получается сделать массив структур с массивом )

badhabit, рад, что пригодилось. Вообще, ИМХО, VBS классы больше подразумеваются под объектную модель, нежели под структуры. Возможно Вашу задачу можно решить иначе. Если поведаете о конечной цели, возможно смогу посоветовать что-то более подходящее.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

8 Ответ от badhabit 2018-03-25 17:35:12

  • badhabit
  • Участник
  • Неактивен
  • Рейтинг : [0|0]

Re: VBS: не получается сделать массив структур с массивом )

Да в принципе надо было получить то — что получилось, без разницы как это называть.)) Получился динамический массив «объектов» и в каждом еще по одному динамическому массиву… Добавив в «структуру» конструктор и метод, в принципе получил класс))
Просто писать на vbs самый, в настоящий момент, удобный вариант, а синтаксис я его не шибко хорошо знаю, так что еще раз спасибо за помощь!

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

 

eremeev23rus

Пользователь

Сообщений: 24
Регистрация: 07.09.2015

#1

15.09.2015 11:10:40

Добрый день.
Возникла потребность создать VBS файл.
Данныйц фал должен открывать одну книгу, затирить в ней данные в диапазоне [A2:Hn], затем открывать другой файл копировать данные в таком же диапазоне и заливать в первую книгу.
Затем выполнить 2 макроса.
Из VBS знаю только как открыть файл игнорируя ошибок и сохранить его. Подскажите каким способом это можно реализовать.

Код
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = false
ExcelApp.displayalerts = false
ExcelApp.Workbooks.Open "Путь к файлу"
ExcelApp.ActiveWorkbook.refreshall
ExcelApp.ActiveWorkbook.Save
ExcelApp.Workbooks.Close
Set ExcelAp = Nothing
 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

eremeev23rus, здравия. Можно в ВБА написать этот макрос, отладить и после перенести в ВБС.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

JayBhagavan, Спасибо, а данный макрос необходимо преобразовывать?

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

eremeev23rus, а Вы попробуйте его так в ВБА запустить и узнаете. :)

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

eremeev23rus

Пользователь

Сообщений: 24
Регистрация: 07.09.2015

#5

15.09.2015 11:29:20

JayBhagavan,

Код
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = false
ExcelApp.displayalerts = false
ExcelApp.Workbooks.Open "K:Исходник.xls"

iLastRow = Sheets("Консолидации общий").Cells(Rows.Count, 8).End(xlUp).Row
For i = 2 To iLastRow - 1
    a = LCase(Sheets("Консолидации общий").Cells(i, 1).Value)
    b = LCase(Sheets("Консолидации общий").Cells(i, 2).Value)
    c = LCase(Sheets("Консолидации общий").Cells(i, 3).Value)
    d = LCase(Sheets("Консолидации общий").Cells(i, 4).Value)
    e = LCase(Sheets("Консолидации общий").Cells(i, 5).Value)
    f = LCase(Sheets("Консолидации общий").Cells(i, 6).Value)
    g = LCase(Sheets("Консолидации общий").Cells(i, 7).Value)
    h = LCase(Sheets("Консолидации общий").Cells(i, 8).Value)
    For j = i + 1 To iLastRow
        a1 = LCase(Sheets("Консолидации общий").Cells(j, 1).Value)
        b1 = LCase(Sheets("Консолидации общий").Cells(j, 2).Value)
        c1 = LCase(Sheets("Консолидации общий").Cells(j, 3).Value)
        d1 = LCase(Sheets("Консолидации общий").Cells(j, 4).Value)
        e1 = LCase(Sheets("Консолидации общий").Cells(j, 5).Value)
        f1 = LCase(Sheets("Консолидации общий").Cells(j, 6).Value)
        g1 = LCase(Sheets("Консолидации общий").Cells(j, 7).Value)
        h1 = LCase(Sheets("Консолидации общий").Cells(j, 8).Value)
    If a = e1 And b = f1 And c = g1 And d = h1 And e = a1 And f = b1 And g = c1 And h = d1 Then
    Cells(j, 1) = a
    Cells(j, 2) = b
    Cells(j, 3) = c
    Cells(j, 4) = d
    Cells(j, 5) = e
    Cells(j, 6) = f
    Cells(j, 7) = g
    Cells(j, 8) = h
    End If
    Next j
Next i

ExcelApp.ActiveWorkbook.Save
ExcelApp.Workbooks.Close
Set ExcelAp = Nothing

Подскажите, пожалуйста, что не так я сформировал?

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

eremeev23rus, что не так я сходу не скажу. (у меня нет Вашего файла, с которым работает макрос) А что Вас не устраивает или на чём ошибка возникает, если она есть?
ПС Чтобы сократить текст кода используйте конструкцию With … End With для Sheets(«Консолидации общий»). И сравнение можно упростить, например:
1) через массивы, чтобы не создавать для каждой яч. переменную (это же брррррррр)
2) или формировать две строки с разделителем через Join и их сравнивать
Всё вышесказанное — имхо, которое может быть ошибочным, но это я бы попытался реализовать будь у меня такая потребность.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

JayBhagavan, при выполнении отображается ошибка: Предполагается наличие окончания инструкции, Код: 800A0401, ошибка компиляции.
Я предполагаю, что VBA код я неверно перенес.

 

Влад

Пользователь

Сообщений: 1189
Регистрация: 24.12.2012

Нет в ВБС такие понятий как «Sheets» и «Cells» — это объекты книги/листа, поэтому должна быть указана полная ссылка на них.

 

Влад, а можно пример? Для лучшего понимания.

 

Влад

Пользователь

Сообщений: 1189
Регистрация: 24.12.2012

#10

15.09.2015 12:04:12

Пример:

Код
....
Set wb = ExcelApp.Workbooks.Open("K:Исходник.xls")
....
iLastRow = wb.Sheets("Консолидации общий").Cells(Rows.Count, 8).End(xlUp).Row
 

Не удается сделать описаным методом. Может можно сделать, чтобы нажималась кнопка на листе в Excel?

 

Hugo

Пользователь

Сообщений: 23101
Регистрация: 22.12.2012

Rows.Count возможно тоже непонятно для vbs.
Я всегда указывал чьи это rows.

Изменено: Hugo15.09.2015 13:38:29

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#13

15.09.2015 13:43:25

Скрытый текст

Изменено: JayBhagavan15.09.2015 14:09:42

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Hugo

Пользователь

Сообщений: 23101
Регистрация: 22.12.2012

Ну и для vbs первой строкой нужно написать
jjj_vbs

 

Hugo

Пользователь

Сообщений: 23101
Регистрация: 22.12.2012

Нашёл ещё нестыковку — в vbs нельзя писать
next переменная

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#16

15.09.2015 13:55:51

Цитата
Hugo написал: в vbs нельзя писать next переменная

Исправил.

Цитата
Hugo написал: Ну и для vbs первой строкой нужно написать
jjj_vbs

То есть нужно убрать Sub, () и End Sub?

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Hugo

Пользователь

Сообщений: 23101
Регистрация: 22.12.2012

Ещё — xlUp нужно заменить на -4162

 

Hugo

Пользователь

Сообщений: 23101
Регистрация: 22.12.2012

#18

15.09.2015 14:00:43

Цитата
JayBhagavan написал:
То есть нужно убрать Sub, () и End Sub?

Да, или первой строкой вызывать этот sub

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#19

15.09.2015 14:10:23

Hugo, благодарю за Ваши замечая. Вроде все учёл.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

Решил изучить платформу Nanocad.

Создал файл .VBS и вставил туда код из файла api/ncX_app.chm

Dim nc As New nanoCAD.Application
nc.Utility.Prompt ("Hello CAD!")

Nanocad выдал ошибку:

Script file path или [./]: C:UsersAmk_2Desktopexample.vbserr: "Ошибка компиляции Microsoft VBScript" raised an exception "Предполагается наличие окончания инструкции" at line 1 pos 7
Dim nc As New nanoCAD.Application
      ^

Насколько я помню, VBS является безтиповым языком. Точнее не требует объявления типов.

Поэтому ругается на явное объявление

Dim nc As New nanoCAD.Application

Один из вариантов реализации вашего кода с помощью метода CreateObject

Dim nc
Set nc = CreateObject("nanoCAD.Application")
nc.Utility.Prompt ("Hello CAD!")


Изменено 8 июня, 2011 пользователем shteyn


Offline

kipriot

 


#1
Оставлено
:

5 мая 2015 г. 17:17:05(UTC)

kipriot

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.07.2014(UTC)
Сообщений: 8
Российская Федерация

Поблагодарили: 1 раз в 1 постах

Такая проблема при формировании сертификата —
«Произошла ошибка при установке параметров запроса!
Номер: 0х1A8
Источник: Ошибка выполнения Microsoft VBScript
Источник: Требуется объект»

Система Windows 8.1 x64, КриптоПро CSP 3.9.8227
Что делать?

Пользователь kipriot прикрепил следующие файлы:

Pic.png (146kb) загружен 57 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.


Вверх


Offline

kipriot

 


#2
Оставлено
:

6 мая 2015 г. 5:41:31(UTC)

kipriot

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.07.2014(UTC)
Сообщений: 8
Российская Федерация

Поблагодарили: 1 раз в 1 постах

В режима отладки проверил, показывает:
«SCRIPT5007: Не удалось задать свойство «KeyProtection» ссылки, значение которой не определено или является NULL»

А поддержка всё молчит……


Вверх


Offline

kipriot

 


#3
Оставлено
:

6 мая 2015 г. 6:25:57(UTC)

kipriot

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.07.2014(UTC)
Сообщений: 8
Российская Федерация

Поблагодарили: 1 раз в 1 постах

Путём манипуляций с настройками IE 11 (разрешением всего и вся в настройках безопасности), процесс пошёл, Крипто про подрубается, появляется «датчик случайных чисел» и….выскакивает:
«Произошла ошибка при сохранении запроса в файл!
Номер: 0х46
Источник: Ошибка выполнения Microsoft VBScript
Источник: Разрешение отклонено»

Кажется начинаю понимать где собака зарытаDancing


Вверх


Offline

kipriot

 


#4
Оставлено
:

6 мая 2015 г. 7:20:51(UTC)

kipriot

Статус: Новичок

Группы: Участники

Зарегистрирован: 03.07.2014(UTC)
Сообщений: 8
Российская Федерация

Поблагодарили: 1 раз в 1 постах

В общем победил. Моя система win 8.1 x64, браузер IE 11, КриптоПро CSP 3.9. Итак.
Отключаем антивирус, Заходим в панель управления — Свойства браузера — Вкладка Безопасность — Зона «Интернет» и «Местная Интрасеть», нажимаем «другой» и разрешаем ВСЁ по длинному списку, (главное «Элементы Activex и модули подключения» разрешить) — затем во вкладку «Дополнительно» и тут разрешаем ВСЁ — жмём ОК — вышли — перезагрузились.
Теперь, если у вас нет доп. установленного меню пуск как в windows 7, идём в папку C:Program FilesInternet Explorer И запускаем (правой кнопкой мыши) «запуск от имени администратора» iexplore.exe.
В открывшемся браузере нажимаем Файл — Открыть — ваш файл offreq. Далее стандартно.Applause

PS. По всей видимости сей offreq был написан в незапамятные времена для windows 95d'oh! , поэтому на современных системах просто так не работает


Вверх

thanks 1 пользователь поблагодарил kipriot за этот пост.

winnie-the-pooh

оставлено 23.08.2016(UTC)

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

  • Произошла исключительная ситуация ошибка выполнения microsoft jscript разрешение отклонено
  • Произошла критическая ошибка the server returned a 500 whoops looks like something went wrong
  • Произошла исключительная ситуация winhttp winhttprequest ошибка поддержки безопасных каналов
  • Произошла критическая ошибка steam vr
  • Произошла исключительная ситуация provider неопознанная ошибка