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

   jk3

02.07.20 — 22:35

Имеется Клиент 1С x64, LibreOffice Calc x32.

Вот такой код, который прекрасно отрабатывает на клиенте 1С x32, падает на клиенте 1С x64 в ошибкой:

«Произошла исключительная ситуация (Ошибка выполнения Microsoft JScript): Разрешение отклонено»

ServiceManager = New COMObject("com.sun.star.ServiceManager");

js = New COMObject("MSScriptControl.ScriptControl");
js.language = "javascript";
js.AddObject("ServiceManager", ServiceManager);
js.eval("Arr = new Array()");
js.eval("Arr[0] = ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");// вот на этой строке падает
   Фрэнки

1 — 02.07.20 — 23:16

Религия запрещает использование 64 бит в LibreOffice Calc ?

   spectre1978

2 — 03.07.20 — 06:24

(0) скорее всего что-то пытается выполнить 32-битный код в адресном пространстве 64-битного процесса. Попробуйте перейти на 64-битный либреофис.

   jk3

3 — 03.07.20 — 23:18

(1) (2)

Снёс x32 LibreOffice, установил x64 LibreOffice.

Ошибка та же самая.

Тут дело в том, что вызывающий процесс x64, а MSScriptControl.ScriptControl — x32.

В службах компонентов прописал по статье: https://osergey.ru/ru/call-32-bit-com-objects-to-side-64-bi/#more-508

Но не взлетает.

Почему-то у самого MSScriptControl.ScriptControl при выполнении нет доступа к ServiceManager.Bridge_GetStruct.

   acht

4 — 03.07.20 — 23:35

А зачем там MSScriptControl.ScriptControl вообще?

   spectre1978

5 — 05.07.20 — 09:12

Я так понимаю, код был утащен из-под клюшек и скриптконтрол был использован из-за неумения клюшек работать с COMSafeArray. Под восьмёркой ведь этот кусок можно попробовать переписать без скриптконтрола?

   NorthWind

6 — 05.07.20 — 09:27

вот здесь с Bridge_GetStruct работают напрямую Выгрузка данных в Оpen Office

   pechkin

7 — 05.07.20 — 10:13

1с сама умеет читать xlsx

   spectre1978

8 — 05.07.20 — 11:13

(7) может быть, ods читать нужно.

(4) Для запуска LibreCalc в скрытом режиме (Hidden = True).

(5) Да, код старый.

(6) Спасибо, помогло.

Переписал кусок вместо MSScriptControl.ScriptControl вот так:

Property1 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Property1.Name = "ReadOnly";
Property1.Value = True;
Property2 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Property2.Name = "Hidden";
Property2.Value = True;
        
Args = New COMSafeArray("VT_VARIANT", 2);
Args.SetValue(0, Property1);
Args.SetValue(1, Property2);

Document = Desktop.LoadComponentFromURL(GetFileURL(FilePath), "_blank", 0, Args); 
Я
   jk3

02.07.20 — 22:35

Имеется Клиент 1С x64, LibreOffice Calc x32.

Вот такой код, который прекрасно отрабатывает на клиенте 1С x32, падает на клиенте 1С x64 в ошибкой:

«Произошла исключительная ситуация (Ошибка выполнения Microsoft JScript): Разрешение отклонено»

ServiceManager = New COMObject("com.sun.star.ServiceManager");

js = New COMObject("MSScriptControl.ScriptControl");
js.language = "javascript";
js.AddObject("ServiceManager", ServiceManager);
js.eval("Arr = new Array()");
js.eval("Arr[0] = ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");// вот на этой строке падает
   Фрэнки

1 — 02.07.20 — 23:16

Религия запрещает использование 64 бит в LibreOffice Calc ?

   spectre1978

2 — 03.07.20 — 06:24

(0) скорее всего что-то пытается выполнить 32-битный код в адресном пространстве 64-битного процесса. Попробуйте перейти на 64-битный либреофис.

   jk3

3 — 03.07.20 — 23:18

(1) (2)

Снёс x32 LibreOffice, установил x64 LibreOffice.

Ошибка та же самая.

Тут дело в том, что вызывающий процесс x64, а MSScriptControl.ScriptControl — x32.

В службах компонентов прописал по статье: https://osergey.ru/ru/call-32-bit-com-objects-to-side-64-bi/#more-508

Но не взлетает.

Почему-то у самого MSScriptControl.ScriptControl при выполнении нет доступа к ServiceManager.Bridge_GetStruct.

   acht

4 — 03.07.20 — 23:35

А зачем там MSScriptControl.ScriptControl вообще?

   spectre1978

5 — 05.07.20 — 09:12

Я так понимаю, код был утащен из-под клюшек и скриптконтрол был использован из-за неумения клюшек работать с COMSafeArray. Под восьмёркой ведь этот кусок можно попробовать переписать без скриптконтрола?

   NorthWind

6 — 05.07.20 — 09:27

вот здесь с Bridge_GetStruct работают напрямую Выгрузка данных в Оpen Office

   pechkin

7 — 05.07.20 — 10:13

1с сама умеет читать xlsx

   spectre1978

8 — 05.07.20 — 11:13

(7) может быть, ods читать нужно.

  

jk3

9 — 05.07.20 — 23:23

(4) Для запуска LibreCalc в скрытом режиме (Hidden = True).

(5) Да, код старый.

(6) Спасибо, помогло.

Переписал кусок вместо MSScriptControl.ScriptControl вот так:

Property1 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Property1.Name = "ReadOnly";
Property1.Value = True;
Property2 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Property2.Name = "Hidden";
Property2.Value = True;
        
Args = New COMSafeArray("VT_VARIANT", 2);
Args.SetValue(0, Property1);
Args.SetValue(1, Property2);

Document = Desktop.LoadComponentFromURL(GetFileURL(FilePath), "_blank", 0, Args); 

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

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

У меня есть две страницы на моем веб-сайте .net

Один из них — default.aspx, а другой — login.aspx.

default.aspx — это просто пустая страница, которая используется для перенаправления на страницу login.aspx.

В login.aspx у меня есть текстовое поле и событие javascript onfocus в этом текстовом поле. (В функции javascript есть только метод оповещения)

Если я запускаю страницу login.aspx из Visual Studio, страница отлично открывается в IE, и javascript выполняется нормально при фокусировке курсора на texbox.

Если я запускаю default.aspx из Visual Studio, страница перенаправляется на login.aspx. Но в этом случае javascript не выполняется. т.е. в этом случае я получаю сообщение об ошибке — ошибка времени выполнения Microsoft jscript — разрешение отклонено’

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

КСТАТИ,

Он отлично работает, если отладка отключена в web.config. Эта проблема возникает только при включенной отладке.

В файрфоксе работает абсолютно нормально. Проблема только с IE.

Благодаря!!!

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

Файл был разработан Microsoft для использования с программным обеспечением Windows. Здесь вы найдете подробную информацию о файле и инструкции, как действовать в случае ошибок, связанных с Microsoft.JScript.dll на вашем устройстве. Вы также можете скачать файл Microsoft.JScript.dll, совместимый с устройствами Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, которые (скорее всего) позволят решить проблему.

For Windows
Совместим с: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista

Популярность пользователя

  • 1 Информация о файле Microsoft.JScript.dll
  • 2 Ошибки, связанные с файлом Microsoft.JScript.dll
  • 3 Как исправить ошибки, связанные с Microsoft.JScript.dll?
    • 3.1 Сканирование на наличие вредоносных программ
    • 3.2 Обновление системы и драйверов
    • 3.3 Инструмент проверки системных файлов
    • 3.4 Восстановление системы
  • 4 Скачать Microsoft.JScript.dll
    • 4.1 Список версий файла Microsoft.JScript.dll

Информация о файле

Основная информация
Имя файла Microsoft.JScript.dll
Расширение файла DLL
Тип Dynamic Link Library
Описание Dynamic Link Library
Программного обеспечения
программа Windows 10
Программного обеспечения Windows
автор Microsoft
Версия программного обеспечения 10
подробности
Размер файла 753864
Самый старый файл 2009-04-11
Последний файл 2017-03-18

Microsoft.JScript.dll

Наиболее распространенные проблемы с файлом Microsoft.JScript.dll

Существует несколько типов ошибок, связанных с файлом Microsoft.JScript.dll. Файл Microsoft.JScript.dll может находиться в неправильном каталоге файлов на вашем устройстве, может отсутствовать в системе или может быть заражен вредоносным программным обеспечением и, следовательно, работать неправильно. Ниже приведен список наиболее распространенных сообщений об ошибках, связанных с файлом Microsoft.JScript.dll. Если вы найдете один из перечисленных ниже (или похожих), рассмотрите следующие предложения.

  • Microsoft.JScript.dll поврежден
  • Microsoft.JScript.dll не может быть расположен
  • Ошибка выполнения — Microsoft.JScript.dll
  • Ошибка файла Microsoft.JScript.dll
  • Файл Microsoft.JScript.dll не может быть загружен. Модуль не найден
  • невозможно зарегистрировать файл Microsoft.JScript.dll
  • Файл Microsoft.JScript.dll не может быть загружен
  • Файл Microsoft.JScript.dll не существует

Microsoft.JScript.dll

Error

Не удалось запустить приложение, так как отсутствует файл Microsoft.JScript.dll. Переустановите приложение, чтобы решить проблему.

OK

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

Как исправить ошибки Microsoft.JScript.dll всего за несколько шагов?

Ошибки файла Microsoft.JScript.dll могут быть вызваны различными причинами, поэтому полезно попытаться исправить их различными способами.

Шаг 1.. Сканирование компьютера на наличие вредоносных программ.

Virus Scan

Файлы Windows обычно подвергаются атаке со стороны вредоносного программного обеспечения, которое не позволяет им работать должным образом. Первым шагом в решении проблем с файлом Microsoft.JScript.dll или любыми другими системными файлами Windows должно быть сканирование системы на наличие вредоносных программ с использованием антивирусного инструмента.

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

Шаг 2.. Обновите систему и драйверы.

Windows Update

Установка соответствующих исправлений и обновлений Microsoft Windows может решить ваши проблемы, связанные с файлом Microsoft.JScript.dll. Используйте специальный инструмент Windows для выполнения обновления.

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Центр обновления Windows» в поле поиска.
  3. Выберите подходящую программу (название может отличаться в зависимости от версии вашей системы)
  4. Проверьте, обновлена ​​ли ваша система. Если в списке есть непримененные обновления, немедленно установите их.
  5. После завершения обновления перезагрузите компьютер, чтобы завершить процесс.

Помимо обновления системы рекомендуется установить последние версии драйверов устройств, так как драйверы могут влиять на правильную работу Microsoft.JScript.dll или других системных файлов. Для этого перейдите на веб-сайт производителя вашего компьютера или устройства, где вы найдете информацию о последних обновлениях драйверов.

Шаг 3.. Используйте средство проверки системных файлов (SFC).

System File Checker

Проверка системных файлов — это инструмент Microsoft Windows. Как следует из названия, инструмент используется для идентификации и адресации ошибок, связанных с системным файлом, в том числе связанных с файлом Microsoft.JScript.dll. После обнаружения ошибки, связанной с файлом %fileextension%, программа пытается автоматически заменить файл Microsoft.JScript.dll на исправно работающую версию. Чтобы использовать инструмент:

  1. Откройте меню «Пуск» в Windows.
  2. Введите «cmd» в поле поиска
  3. Найдите результат «Командная строка» — пока не запускайте его:
  4. Нажмите правую кнопку мыши и выберите «Запуск от имени администратора»
  5. Введите «sfc / scannow» в командной строке, чтобы запустить программу, и следуйте инструкциям.

Шаг 4. Восстановление системы Windows.

Windows Recovery

Другой подход заключается в восстановлении системы до предыдущего состояния до того, как произошла ошибка файла Microsoft.JScript.dll. Чтобы восстановить вашу систему, следуйте инструкциям ниже

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Восстановление системы» в поле поиска.
  3. Запустите средство восстановления системы — его имя может отличаться в зависимости от версии системы.
  4. Приложение проведет вас через весь процесс — внимательно прочитайте сообщения
  5. После завершения процесса перезагрузите компьютер.

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

Загрузите и замените файл Microsoft.JScript.dll

Последнее решение — вручную загрузить и заменить файл Microsoft.JScript.dll в соответствующей папке на диске. Выберите версию файла, совместимую с вашей операционной системой, и нажмите кнопку «Скачать». Затем перейдите в папку «Загруженные» вашего веб-браузера и скопируйте загруженный файл Microsoft.JScript.dll.

Перейдите в папку, в которой должен находиться файл, и вставьте загруженный файл. Ниже приведен список путей к каталогу файлов Microsoft.JScript.dll.

  • Windows 10: C:WindowsMicrosoft.NETFrameworkv4.0.30319
  • Windows 8.1: C:WindowsMicrosoft.NETFrameworkv4.0.30319
  • Windows 8: 1: C:WindowsMicrosoft.NETFrameworkv4.0.30319
  • Windows 7:
  • Windows Vista:

Если действия не помогли решить проблему с файлом Microsoft.JScript.dll, обратитесь к профессионалу. Существует вероятность того, что ошибка (и) может быть связана с устройством и, следовательно, должна быть устранена на аппаратном уровне. Может потребоваться новая установка операционной системы — неправильный процесс установки системы может привести к потере данных.

Список версий файлов

For Windows 10

Имя файла
Microsoft.JScript.dll

система
Windows 10

Размер файла
753864 bytes

Дата
-0001-11-30

Подробности файла
MD5 b50093d3b04b524d203f98db39212ecd
SHA1 6a071635d6a3d0cbf2bb14da1b3fd89aae2c370a
SHA256 cfb3d37256f1b59e4b4b99c9c96137df2fbc5664ba7b7bc0c702fb84f1044258
CRC32 0515cd0f
Пример расположения файла C:WindowsMicrosoft.NETFrameworkv4.0.30319

For Windows 8.1

Имя файла
Microsoft.JScript.dll

система
Windows 8.1

Размер файла
758896 bytes

Дата
-0001-11-30

Подробности файла
MD5 13dfff77d6c674c0edf448e9a9a9b57c
SHA1 bffcbcac577b1891873deaef5326aefe620764b6
SHA256 366b18e91255a696aa2b6db35309bca54c1e46ae742ea72ce7fd890c9f053629
CRC32 fb298588
Пример расположения файла C:WindowsMicrosoft.NETFrameworkv4.0.30319

For Windows 8

Имя файла
Microsoft.JScript.dll

система
Windows 8

Размер файла
758224 bytes

Дата
-0001-11-30

Подробности файла
MD5 5f4bb3a8a61ab2ff3b826ba6c9e86c37
SHA1 9003017b19adaef5578e9ae57d517e52009602b9
SHA256 db8c4472a3c1026886b8a81c10bf526c99cc3e8836b23f450184a2430b2f0267
CRC32 655518fb
Пример расположения файла 1: C:WindowsMicrosoft.NETFrameworkv4.0.30319

For Windows 7

Имя файла
Microsoft.JScript.dll

система
Windows 7

Размер файла
749568 bytes

Дата
-0001-11-30

Подробности файла
MD5 3cf65928e67e362d5b25424ebcc27b12
SHA1 f41f7023a9524d0f1f2ef683ea1b3ff543cc0f56
SHA256 85b89003d359a7e1d3c6c19746c0cbdbd756f2189271f1b2b71490bd67a928eb
CRC32 d841c09d
Пример расположения файла

For Windows Vista

Имя файла
Microsoft.JScript.dll

система
Windows Vista

Размер файла
749568 bytes

Дата
-0001-11-30

Подробности файла
MD5 2ca359b0b0a393356326e2bf2dd23cd3
SHA1 5f625382182984a678748bc983b00d4abc62a711
SHA256 3049d2209e71e6f3290acb2aed8d748f97caece1f7a502b59746b8093686ef05
CRC32 2e116955
Пример расположения файла

I’m getting this error trying a simple jQuery sample with Typescript:

«tsc.js(23915, 17) Microsoft JScript runtime error: ‘$’ is undefined»

My entire .ts file:

/// <reference path="scripts/jquery-1.8.d.ts" />

$(document).ready(function () {});

The jquery-1.8.d.ts is from DefinitelyTyped, but I get the same error if I use the standard jquery.d.ts. I’m not getting any errors on the reference tag, it’s correct and is finding the .d.ts file.

I’m obviously missing something basic here, I can’t figure out why I’m getting this error. I’ve got the VS 2012 extension installed and am getting full autocomplete on jQuery… so when I type ‘$’ I do get autcomplete popups. The generated .js file is correct, nothing wrong there. A much more complex .ts file is compiling correctly and the output .js file is perfectly fine, so this is more of an annoyance than an error, I suppose. Or am I missing other errors because of this runtime error??

I’m compiling by adding an «External Tool» in VS with
command: C:Program Files (x86)Microsoft SDKsTypeScript.8.1.1tsc.exe
arguments: -e «$(ItemPath)» —sourcemap

Номер Описание 5 Invalid procedure call or argument Недопустимый вызов или аргумент процедуры 6 Overflow Переполнение 7 Out of memory Недостаточно памяти 9 Subscript out of range Индекс выходит за пределы допустимого диапазона 10 This array is fixed or temporarily locked Массив имеет фиксированную длину или временно блокирован 11 Division by zero Деление на 0 13 Type mismatch Несоответствие типа 14 Out of string space Недостаточно памяти для строки 17 Can’t perform requested operation Невозможно выполнить требуемую операцию 28 Out of stack space Недостаточно места в стеке 35 Sub or Function not defined Процедура Sub или Function не определена 48 Error in loading DLL Ошибка при загрузке DLL 51 Internal error Внутренняя ошибка 52 Bad file name or number Недопустимое имя или номер файла 53 File not found Файл не найден 54 Bad file mode Недопустимый режим файла 55 File already open Файл уже открыт 57 Device I/O error Ошибка устройства ввода-вывода 58 File already exists Файл уже существует 61 Disk full Диск переполнен 62 Input past end of file Ввод данных за пределами файла 67 Too many files Слишком много файлов 68 Device unavailable Нет доступа к устройству 70 Permission denied Разрешение отклонено 71 Disk not ready Диск не готов 74 Can’t rename with different drive Невозможно переименование с другим именем диска 75 Path/File access error Ошибка доступа к файлу/каталогу 76 Path not found Путь не найден 91 Object variable or With block variable not set Объектная переменная или переменная блока With не задана 92 For loop not initialized Цикл For не инициализирован 94 Invalid use of Null Недопустимое использование Null 322 Can’t create necessary temporary file Невозможно создание требуемого временного файла 424 Object required Требуется объект 429 Automation server can’t create object Невозможно создание объекта сервером программирования объектов 430 Class doesn’t support Automation Класс не поддерживает программирование объектов 432 File name or class name not found during Automation operation Не найдено имя файла или класса при операции программирования объектов 438 Object doesn’t support this property or method Объект не поддерживает это свойство или метод 440 Automation error Ошибка программирования объектов 445 Object doesn’t support this action Команда не поддерживается объектом 446 Object doesn’t support named arguments Объект не поддерживает именованные аргументы 447 Object doesn’t support current locale setting Объект не поддерживает текущую национальную настройку 448 Named argument not found Именованный аргумент не найден 449 Argument not optional Обязательный аргумент 450 Wrong number of arguments or invalid property assignment Недопустимое число аргументов или присвоение значения свойства 451 Object not a collection Объект не является семейством 453 Specified DLL function not found Указанная функция DLL не найдена 458 Variable uses an Automation type not supported in JScript Переменная использует не поддерживаемый в JScript тип программирования объектов 462 The remote server machine does not exist or is unavailable Удаленный сервер не существует или недоступен 501 Cannot assign to variable Присвоение значения переменной невозможно 502 Object not safe for scripting Применение объекта в сценариях небезопасно 503 Object not safe for initializing Инициализация объекта небезопасна 504 Object not safe for creating Создание объекта небезопасно 507 An exception occurred Произошло исключение 4096 Microsoft JScript compilation error Ошибка компиляции Microsoft JScript 4097 Microsoft JScript runtime error Ошибка выполнения Microsoft JScript 4098 Unknown runtime error Неизвестная ошибка выполнения 5000 Cannot assign to ‘this’ Невозможно присвоение значения ‘this’ 5001 Number expected Предполагается наличие числа 5002 Function expected Предполагается наличие функции 5003 Cannot assign to a function result Невозможно присвоение результату функции 5004 Cannot index object Невозможно индексирование объекта 5005 String expected Предполагается наличие строки 5006 Date object expected Предполагается наличие объекта-даты 5007 Object expected Предполагается наличие объекта 5008 Illegal assignment Недопустимое присвоение 5009 Undefined identifier Неопределенный идентификатор 5010 Boolean expected Предполагается наличие логического значения 5011 Can’t execute code from a freed script Не удается выполнить программу из освобожденного сценария 5012 Object member expected Предполагается наличие компонента объекта 5013 VBArray expected Предполагается наличие VBArray 5014 JScript object expected Предполагается наличие объекта JScript 5015 Enumerator object expected Предполагается наличие объекта Enumerator 5016 Regular Expression object expected Предполагается наличие объекта регулярного выражения 5017 Syntax error in regular expression Ошибка синтаксиса в регулярном выражении 5018 Unexpected quantifier Неизвестный числовой показатель 5019 Expected ‘]’ in regular expression Предполагается наличие ‘]’ в регулярном выражении 5020 Expected ‘)’ in regular expression Предполагается наличие ‘)’ в регулярном выражении 5021 Invalid range in character set Недопустимый диапазон в наборе символов 5022 Exception thrown and not caught Исключение сгенерировано и не обработано 5023 Function does not have a valid prototype object Функция не имеет правильного объекта- прототипа 5024 The URI to be encoded contains an invalid character Кодируемый URI содержит недопустимый символ 5025 The URI to be decoded is not a valid encoding Декодируемый URI имеет неверную кодировку 5026 The number of fractional digits is out of range Недопустимое число цифр дробной части 5027 The precision is out of range Недопустимое значение точности 5028 Array of arguments object expected Предполагается наличие объекта массив аргументов 5029 Array length must be a finite positive integer Длина массива должна быть целым положительным числом 5030 Array length must be assigned a finite positive number Длине массива должна быть присвоено целое положительное число 5031 Array object expected Предполагается наличие объекта Array

  

jk3

02.07.20 — 22:35

Имеется Клиент 1С x64, LibreOffice Calc x32.

Вот такой код, который прекрасно отрабатывает на клиенте 1С x32, падает на клиенте 1С x64 в ошибкой:

«Произошла исключительная ситуация (Ошибка выполнения Microsoft JScript): Разрешение отклонено»

ServiceManager = New COMObject("com.sun.star.ServiceManager");

js = New COMObject("MSScriptControl.ScriptControl");
js.language = "javascript";
js.AddObject("ServiceManager", ServiceManager);
js.eval("Arr = new Array()");
js.eval("Arr[0] = ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");// вот на этой строке падает

  

Фрэнки

1 — 02.07.20 — 23:16

Религия запрещает использование 64 бит в LibreOffice Calc ?

  

spectre1978

2 — 03.07.20 — 06:24

(0) скорее всего что-то пытается выполнить 32-битный код в адресном пространстве 64-битного процесса. Попробуйте перейти на 64-битный либреофис.

  

jk3

3 — 03.07.20 — 23:18

(1) (2)

Снёс x32 LibreOffice, установил x64 LibreOffice.

Ошибка та же самая.

Тут дело в том, что вызывающий процесс x64, а MSScriptControl.ScriptControl — x32.

В службах компонентов прописал по статье: https://osergey.ru/ru/call-32-bit-com-objects-to-side-64-bi/#more-508

Но не взлетает.

Почему-то у самого MSScriptControl.ScriptControl при выполнении нет доступа к ServiceManager.Bridge_GetStruct.

  

acht

4 — 03.07.20 — 23:35

А зачем там MSScriptControl.ScriptControl вообще?

  

spectre1978

5 — 05.07.20 — 09:12

Я так понимаю, код был утащен из-под клюшек и скриптконтрол был использован из-за неумения клюшек работать с COMSafeArray. Под восьмёркой ведь этот кусок можно попробовать переписать без скриптконтрола?

  

NorthWind

6 — 05.07.20 — 09:27

вот здесь с Bridge_GetStruct работают напрямую Выгрузка данных в Оpen Office

  

pechkin

7 — 05.07.20 — 10:13

1с сама умеет читать xlsx

  

spectre1978

8 — 05.07.20 — 11:13

(7) может быть, ods читать нужно.

(4) Для запуска LibreCalc в скрытом режиме (Hidden = True).

(5) Да, код старый.

(6) Спасибо, помогло.

Переписал кусок вместо MSScriptControl.ScriptControl вот так:

Property1 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Property1.Name = "ReadOnly";
Property1.Value = True;
Property2 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Property2.Name = "Hidden";
Property2.Value = True;
        
Args = New COMSafeArray("VT_VARIANT", 2);
Args.SetValue(0, Property1);
Args.SetValue(1, Property2);

Document = Desktop.LoadComponentFromURL(GetFileURL(FilePath), "_blank", 0, Args); 
Я
   jk3

02.07.20 — 22:35

Имеется Клиент 1С x64, LibreOffice Calc x32.

Вот такой код, который прекрасно отрабатывает на клиенте 1С x32, падает на клиенте 1С x64 в ошибкой:

«Произошла исключительная ситуация (Ошибка выполнения Microsoft JScript): Разрешение отклонено»

ServiceManager = New COMObject("com.sun.star.ServiceManager");

js = New COMObject("MSScriptControl.ScriptControl");
js.language = "javascript";
js.AddObject("ServiceManager", ServiceManager);
js.eval("Arr = new Array()");
js.eval("Arr[0] = ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");// вот на этой строке падает
   Фрэнки

1 — 02.07.20 — 23:16

Религия запрещает использование 64 бит в LibreOffice Calc ?

   spectre1978

2 — 03.07.20 — 06:24

(0) скорее всего что-то пытается выполнить 32-битный код в адресном пространстве 64-битного процесса. Попробуйте перейти на 64-битный либреофис.

   jk3

3 — 03.07.20 — 23:18

(1) (2)

Снёс x32 LibreOffice, установил x64 LibreOffice.

Ошибка та же самая.

Тут дело в том, что вызывающий процесс x64, а MSScriptControl.ScriptControl — x32.

В службах компонентов прописал по статье: https://osergey.ru/ru/call-32-bit-com-objects-to-side-64-bi/#more-508

Но не взлетает.

Почему-то у самого MSScriptControl.ScriptControl при выполнении нет доступа к ServiceManager.Bridge_GetStruct.

   acht

4 — 03.07.20 — 23:35

А зачем там MSScriptControl.ScriptControl вообще?

   spectre1978

5 — 05.07.20 — 09:12

Я так понимаю, код был утащен из-под клюшек и скриптконтрол был использован из-за неумения клюшек работать с COMSafeArray. Под восьмёркой ведь этот кусок можно попробовать переписать без скриптконтрола?

   NorthWind

6 — 05.07.20 — 09:27

вот здесь с Bridge_GetStruct работают напрямую Выгрузка данных в Оpen Office

   pechkin

7 — 05.07.20 — 10:13

1с сама умеет читать xlsx

   spectre1978

8 — 05.07.20 — 11:13

(7) может быть, ods читать нужно.

  

jk3

9 — 05.07.20 — 23:23

(4) Для запуска LibreCalc в скрытом режиме (Hidden = True).

(5) Да, код старый.

(6) Спасибо, помогло.

Переписал кусок вместо MSScriptControl.ScriptControl вот так:

Property1 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Property1.Name = "ReadOnly";
Property1.Value = True;
Property2 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Property2.Name = "Hidden";
Property2.Value = True;
        
Args = New COMSafeArray("VT_VARIANT", 2);
Args.SetValue(0, Property1);
Args.SetValue(1, Property2);

Document = Desktop.LoadComponentFromURL(GetFileURL(FilePath), "_blank", 0, Args); 

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

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

У меня есть две страницы на моем веб-сайте .net

Один из них — default.aspx, а другой — login.aspx.

default.aspx — это просто пустая страница, которая используется для перенаправления на страницу login.aspx.

В login.aspx у меня есть текстовое поле и событие javascript onfocus в этом текстовом поле. (В функции javascript есть только метод оповещения)

Если я запускаю страницу login.aspx из Visual Studio, страница отлично открывается в IE, и javascript выполняется нормально при фокусировке курсора на texbox.

Если я запускаю default.aspx из Visual Studio, страница перенаправляется на login.aspx. Но в этом случае javascript не выполняется. т.е. в этом случае я получаю сообщение об ошибке — ошибка времени выполнения Microsoft jscript — разрешение отклонено’

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

КСТАТИ,

Он отлично работает, если отладка отключена в web.config. Эта проблема возникает только при включенной отладке.

В файрфоксе работает абсолютно нормально. Проблема только с IE.

Благодаря!!!

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

Файл был разработан Microsoft для использования с программным обеспечением Windows. Здесь вы найдете подробную информацию о файле и инструкции, как действовать в случае ошибок, связанных с Microsoft.JScript.dll на вашем устройстве. Вы также можете скачать файл Microsoft.JScript.dll, совместимый с устройствами Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista, которые (скорее всего) позволят решить проблему.

For Windows
Совместим с: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Vista

Популярность пользователя

  • 1 Информация о файле Microsoft.JScript.dll
  • 2 Ошибки, связанные с файлом Microsoft.JScript.dll
  • 3 Как исправить ошибки, связанные с Microsoft.JScript.dll?
    • 3.1 Сканирование на наличие вредоносных программ
    • 3.2 Обновление системы и драйверов
    • 3.3 Инструмент проверки системных файлов
    • 3.4 Восстановление системы
  • 4 Скачать Microsoft.JScript.dll
    • 4.1 Список версий файла Microsoft.JScript.dll

Информация о файле

Основная информация
Имя файла Microsoft.JScript.dll
Расширение файла DLL
Тип Dynamic Link Library
Описание Dynamic Link Library
Программного обеспечения
программа Windows 10
Программного обеспечения Windows
автор Microsoft
Версия программного обеспечения 10
подробности
Размер файла 753864
Самый старый файл 2009-04-11
Последний файл 2017-03-18

Microsoft.JScript.dll

Существует несколько типов ошибок, связанных с файлом Microsoft.JScript.dll. Файл Microsoft.JScript.dll может находиться в неправильном каталоге файлов на вашем устройстве, может отсутствовать в системе или может быть заражен вредоносным программным обеспечением и, следовательно, работать неправильно. Ниже приведен список наиболее распространенных сообщений об ошибках, связанных с файлом Microsoft.JScript.dll. Если вы найдете один из перечисленных ниже (или похожих), рассмотрите следующие предложения.

  • Microsoft.JScript.dll поврежден
  • Microsoft.JScript.dll не может быть расположен
  • Ошибка выполнения — Microsoft.JScript.dll
  • Ошибка файла Microsoft.JScript.dll
  • Файл Microsoft.JScript.dll не может быть загружен. Модуль не найден
  • невозможно зарегистрировать файл Microsoft.JScript.dll
  • Файл Microsoft.JScript.dll не может быть загружен
  • Файл Microsoft.JScript.dll не существует

Microsoft.JScript.dll

Error

Не удалось запустить приложение, так как отсутствует файл Microsoft.JScript.dll. Переустановите приложение, чтобы решить проблему.

OK

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

Как исправить ошибки Microsoft.JScript.dll всего за несколько шагов?

Ошибки файла Microsoft.JScript.dll могут быть вызваны различными причинами, поэтому полезно попытаться исправить их различными способами.

Шаг 1.. Сканирование компьютера на наличие вредоносных программ.

Virus Scan

Файлы Windows обычно подвергаются атаке со стороны вредоносного программного обеспечения, которое не позволяет им работать должным образом. Первым шагом в решении проблем с файлом Microsoft.JScript.dll или любыми другими системными файлами Windows должно быть сканирование системы на наличие вредоносных программ с использованием антивирусного инструмента.

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

Шаг 2.. Обновите систему и драйверы.

Windows Update

Установка соответствующих исправлений и обновлений Microsoft Windows может решить ваши проблемы, связанные с файлом Microsoft.JScript.dll. Используйте специальный инструмент Windows для выполнения обновления.

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Центр обновления Windows» в поле поиска.
  3. Выберите подходящую программу (название может отличаться в зависимости от версии вашей системы)
  4. Проверьте, обновлена ​​ли ваша система. Если в списке есть непримененные обновления, немедленно установите их.
  5. После завершения обновления перезагрузите компьютер, чтобы завершить процесс.

Помимо обновления системы рекомендуется установить последние версии драйверов устройств, так как драйверы могут влиять на правильную работу Microsoft.JScript.dll или других системных файлов. Для этого перейдите на веб-сайт производителя вашего компьютера или устройства, где вы найдете информацию о последних обновлениях драйверов.

Шаг 3.. Используйте средство проверки системных файлов (SFC).

System File Checker

Проверка системных файлов — это инструмент Microsoft Windows. Как следует из названия, инструмент используется для идентификации и адресации ошибок, связанных с системным файлом, в том числе связанных с файлом Microsoft.JScript.dll. После обнаружения ошибки, связанной с файлом %fileextension%, программа пытается автоматически заменить файл Microsoft.JScript.dll на исправно работающую версию. Чтобы использовать инструмент:

  1. Откройте меню «Пуск» в Windows.
  2. Введите «cmd» в поле поиска
  3. Найдите результат «Командная строка» — пока не запускайте его:
  4. Нажмите правую кнопку мыши и выберите «Запуск от имени администратора»
  5. Введите «sfc / scannow» в командной строке, чтобы запустить программу, и следуйте инструкциям.

Шаг 4. Восстановление системы Windows.

Windows Recovery

Другой подход заключается в восстановлении системы до предыдущего состояния до того, как произошла ошибка файла Microsoft.JScript.dll. Чтобы восстановить вашу систему, следуйте инструкциям ниже

  1. Откройте меню «Пуск» в Windows.
  2. Введите «Восстановление системы» в поле поиска.
  3. Запустите средство восстановления системы — его имя может отличаться в зависимости от версии системы.
  4. Приложение проведет вас через весь процесс — внимательно прочитайте сообщения
  5. После завершения процесса перезагрузите компьютер.

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

Загрузите и замените файл Microsoft.JScript.dll

Последнее решение — вручную загрузить и заменить файл Microsoft.JScript.dll в соответствующей папке на диске. Выберите версию файла, совместимую с вашей операционной системой, и нажмите кнопку «Скачать». Затем перейдите в папку «Загруженные» вашего веб-браузера и скопируйте загруженный файл Microsoft.JScript.dll.

Перейдите в папку, в которой должен находиться файл, и вставьте загруженный файл. Ниже приведен список путей к каталогу файлов Microsoft.JScript.dll.

  • Windows 10: C:WindowsMicrosoft.NETFrameworkv4.0.30319
  • Windows 8.1: C:WindowsMicrosoft.NETFrameworkv4.0.30319
  • Windows 8: 1: C:WindowsMicrosoft.NETFrameworkv4.0.30319
  • Windows 7:
  • Windows Vista:

Если действия не помогли решить проблему с файлом Microsoft.JScript.dll, обратитесь к профессионалу. Существует вероятность того, что ошибка (и) может быть связана с устройством и, следовательно, должна быть устранена на аппаратном уровне. Может потребоваться новая установка операционной системы — неправильный процесс установки системы может привести к потере данных.

Список версий файлов

For Windows 10

Имя файла
Microsoft.JScript.dll

система
Windows 10

Размер файла
753864 bytes

Дата
-0001-11-30

Подробности файла
MD5 b50093d3b04b524d203f98db39212ecd
SHA1 6a071635d6a3d0cbf2bb14da1b3fd89aae2c370a
SHA256 cfb3d37256f1b59e4b4b99c9c96137df2fbc5664ba7b7bc0c702fb84f1044258
CRC32 0515cd0f
Пример расположения файла C:WindowsMicrosoft.NETFrameworkv4.0.30319

For Windows 8.1

Имя файла
Microsoft.JScript.dll

система
Windows 8.1

Размер файла
758896 bytes

Дата
-0001-11-30

Подробности файла
MD5 13dfff77d6c674c0edf448e9a9a9b57c
SHA1 bffcbcac577b1891873deaef5326aefe620764b6
SHA256 366b18e91255a696aa2b6db35309bca54c1e46ae742ea72ce7fd890c9f053629
CRC32 fb298588
Пример расположения файла C:WindowsMicrosoft.NETFrameworkv4.0.30319

For Windows 8

Имя файла
Microsoft.JScript.dll

система
Windows 8

Размер файла
758224 bytes

Дата
-0001-11-30

Подробности файла
MD5 5f4bb3a8a61ab2ff3b826ba6c9e86c37
SHA1 9003017b19adaef5578e9ae57d517e52009602b9
SHA256 db8c4472a3c1026886b8a81c10bf526c99cc3e8836b23f450184a2430b2f0267
CRC32 655518fb
Пример расположения файла 1: C:WindowsMicrosoft.NETFrameworkv4.0.30319

For Windows 7

Имя файла
Microsoft.JScript.dll

система
Windows 7

Размер файла
749568 bytes

Дата
-0001-11-30

Подробности файла
MD5 3cf65928e67e362d5b25424ebcc27b12
SHA1 f41f7023a9524d0f1f2ef683ea1b3ff543cc0f56
SHA256 85b89003d359a7e1d3c6c19746c0cbdbd756f2189271f1b2b71490bd67a928eb
CRC32 d841c09d
Пример расположения файла

For Windows Vista

Имя файла
Microsoft.JScript.dll

система
Windows Vista

Размер файла
749568 bytes

Дата
-0001-11-30

Подробности файла
MD5 2ca359b0b0a393356326e2bf2dd23cd3
SHA1 5f625382182984a678748bc983b00d4abc62a711
SHA256 3049d2209e71e6f3290acb2aed8d748f97caece1f7a502b59746b8093686ef05
CRC32 2e116955
Пример расположения файла

I’m getting this error trying a simple jQuery sample with Typescript:

«tsc.js(23915, 17) Microsoft JScript runtime error: ‘$’ is undefined»

My entire .ts file:

/// <reference path="scripts/jquery-1.8.d.ts" />

$(document).ready(function () {});

The jquery-1.8.d.ts is from DefinitelyTyped, but I get the same error if I use the standard jquery.d.ts. I’m not getting any errors on the reference tag, it’s correct and is finding the .d.ts file.

I’m obviously missing something basic here, I can’t figure out why I’m getting this error. I’ve got the VS 2012 extension installed and am getting full autocomplete on jQuery… so when I type ‘$’ I do get autcomplete popups. The generated .js file is correct, nothing wrong there. A much more complex .ts file is compiling correctly and the output .js file is perfectly fine, so this is more of an annoyance than an error, I suppose. Or am I missing other errors because of this runtime error??

I’m compiling by adding an «External Tool» in VS with
command: C:Program Files (x86)Microsoft SDKsTypeScript.8.1.1tsc.exe
arguments: -e «$(ItemPath)» —sourcemap

Skydiver_vrn

0 / 0 / 0

Регистрация: 01.07.2014

Сообщений: 14

1

VBS

Разрешение отклонено

01.07.2014, 09:03. Показов 29761. Ответов 11

Метки нет (Все метки)


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

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Set FSO = CreateObject("Scripting.FileSystemObject")
path="D:share123"
  if (FSO.FolderExists(path) = true) then 
    Set Folder = FSO.GetFolder(path)
    For Each SubFolder In Folder.SubFolders
     folder1=SubFolder.Name
     if folder1<>"Маркетинг" and folder1<>"111" and folder1<>"222" and folder1<>"333" and folder1<>"444" and folder1<>"555" and folder1<>"666" and folder1<>"777" and folder1<>"888" then
      folder1=path+folder1
       if (FSO.FolderExists(folder1) = true) then 
        Set folder_for_delete = FSO.GetFolder(folder1)
        folder_for_delete.Delete(True)
       else MsgBox "Путь "+folder1+" не найден" 
       end if
     end if 
    Next
  end if

Вот такой скрипт, ругается на строка 11 символ 9 разрешение отклонено



0



2618 / 548 / 109

Регистрация: 21.03.2012

Сообщений: 1,051

01.07.2014, 10:11

2

Цитата
Сообщение от Skydiver_vrn
Посмотреть сообщение

… разрешение отклонено

Причина — отсутствуют необходимые полномочия. Проверяйте список управления доступом для соответствующей папки.



0



0 / 0 / 0

Регистрация: 01.07.2014

Сообщений: 14

01.07.2014, 11:54

 [ТС]

3

Dmitrii, Так запускаю скрипт вручную под доменным админом у которого есть все права на эту папку.

Добавлено через 1 час 40 минут
Dmitrii, Поигрался с правами, теперь пишет «путь не найден» Строка 11 символ 9



0



2618 / 548 / 109

Регистрация: 21.03.2012

Сообщений: 1,051

01.07.2014, 18:29

4

Цитата
Сообщение от Skydiver_vrn
Посмотреть сообщение

… под доменным админом у которого есть все права на эту папку

1. Какая версия ОС?
2. Включен ли UAC?

Цитата
Сообщение от Skydiver_vrn
Посмотреть сообщение

Поигрался с правами, теперь пишет «путь не найден»

Покажите подробный список управления доступом. Для каждой записи должны быть видны: тип, маска доступа, точка наследования, область действия.



0



Skydiver_vrn

0 / 0 / 0

Регистрация: 01.07.2014

Сообщений: 14

02.07.2014, 08:17

 [ТС]

5

Dmitrii, С доступом вроде разобрался сам, сегодня скрипт отработал ночью запускал через bat-ник

Bash
1
2
del D:Share123*.* /q /f
C:cmdclear_share.vbs

но удалились только файлы которые были вне папок, папки на месте остались, и новая ошибка «Предполагается наличие Then строка 7 символ 174»

Добавлено через 12 минут
И тут затупил сам тоже, не написал and когда ещё пункт добавил. Сегодня ночью ещё раз попробую.



0



0 / 0 / 0

Регистрация: 01.07.2014

Сообщений: 14

03.07.2014, 14:52

 [ТС]

6

Dmitrii, Снова удалились только файлы, никакой ошибки не выскочило. Помогите пожалуйста, я чайник в написании скриптов.

Добавлено через 5 часов 55 минут
Причём часть папок удалилась, а как только дошёл до первой в списке исключений остальные на месте.



0



Dmitrii

2618 / 548 / 109

Регистрация: 21.03.2012

Сообщений: 1,051

04.07.2014, 20:47

7

Попробуйте такой вариант:

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

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Dim objFS, objFolder, objItem, strPath, strExclude, strLog, strTemp
 
strExclude = "Маркетинг;111;222;333;444;555;666;777;888;"
Set objFS = CreateObject("Scripting.FileSystemObject")
strPath = "D:share123"
If objFS.FolderExists(strPath) Then 
    Set objFolder = objFS.GetFolder(strPath)
    On Error Resume Next
    If objFolder.SubFolders.Count > 0 Then
        For Each objItem In objFolder.SubFolders
            If InStr(1, strExclude, objItem.Name & ";", vbTextCompare) = 0 Then
                strTemp = objItem.Path
                objItem.Delete True
                If Err.Number = 0 Then
                    strLog = strLog & strTemp & " -> успех" & vbNewLine
                Else
                    strLog = strLog & strTemp & " -> ошибка: " & Err.Description & vbNewLine
                    Err.Clear
                End If
            End if 
        Next
    Else
        strLog = "Папка " & strPath & " не содержит ни одной подпапки."
    End If
    Set objFolder = Nothing
Else
    strLog = "Не найден путь " & strPath
End if
strTemp = objFS.BuildPath(objFS.GetParentFolderName(WScript.ScriptFullName), "Results.txt")
Set objItem = objFS.CreateTextFile(strTemp, True)
If Err.Number = 0 Then
    If Len(strLog) > 0 Then
        objItem.Write strLog
    Else
        objItem.Write "Папка " & strPath & " не содержит ни одной подпапки, предназначенной для удаления."
    End If
    objItem.Close
    WScript.Echo "Готово. Журнал здесь:" & vbNewLine & strTemp
Else
    WScript.Echo "Готово. Ошибка при создании журнала:" & vbNewLine & Err.Description
    Err.Clear
End If
Set objItem = Nothing: Set objFS = Nothing
WScript.Quit 0



2



ComSpec

3455 / 1993 / 635

Регистрация: 26.02.2014

Сообщений: 1,457

04.07.2014, 22:27

8

Dmitrii, поправки:

Visual Basic
1
strExclude = ";Маркетинг;111;222;333;444;555;666;777;888;"
Visual Basic
1
If InStr(1, strExclude, ";" & objItem.Name & ";", vbTextCompare) = 0 Then

.
Иначе не удалятся папки с именами «1», «2», «3», «4», «5», «6», «7», «8», «11», «22», «33», «44», «55», «66», «77», «88», «аркетинг», «ркетинг», «кетинг», «етинг», «тинг», «инг», «нг», «г».



3



Эксперт WindowsАвтор FAQ

18059 / 7662 / 891

Регистрация: 25.12.2011

Сообщений: 11,432

Записей в блоге: 17

05.07.2014, 14:21

9

Вот такая папка тоже не удалится «111;222»
Нужно все разделители ; заменить на символ, который нельзя использовать в именовании ФС, например |



3



Dmitrii

2618 / 548 / 109

Регистрация: 21.03.2012

Сообщений: 1,051

06.07.2014, 21:37

10

Лучший ответ Сообщение было отмечено Skydiver_vrn как решение

Решение

С учётом справедливых замечаний от ComSpec и Dragokas имеем следующий вариант:

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

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Dim objFS, objFolder, objItem, strPath, strExclude, strLog, strTemp
 
strExclude = "*Маркетинг*111*222*333*444*555*666*777*888*"
Set objFS = CreateObject("Scripting.FileSystemObject")
strPath = "D:share123"
If objFS.FolderExists(strPath) Then 
    Set objFolder = objFS.GetFolder(strPath)
    On Error Resume Next
    If objFolder.SubFolders.Count > 0 Then
        For Each objItem In objFolder.SubFolders
            If InStr(1, strExclude, "*" & objItem.Name & "*", vbTextCompare) = 0 Then
                strTemp = objItem.Path
                objItem.Delete True
                If Err.Number = 0 Then
                    strLog = strLog & strTemp & " -> успех" & vbNewLine
                Else
                    strLog = strLog & strTemp & " -> ошибка: " & Err.Description & vbNewLine
                    Err.Clear
                End If
            End if 
        Next
    Else
        strLog = "Папка " & strPath & " не содержит ни одной подпапки."
    End If
    Set objFolder = Nothing
Else
    strLog = "Не найден путь " & strPath
End if
strTemp = objFS.BuildPath(objFS.GetParentFolderName(WScript.ScriptFullName), "Results.txt")
Set objItem = objFS.CreateTextFile(strTemp, True)
If Err.Number = 0 Then
    If Len(strLog) > 0 Then
        objItem.Write strLog
    Else
        objItem.Write "Папка " & strPath & " не содержит ни одной подпапки, предназначенной для удаления."
    End If
    objItem.Close
    WScript.Echo "Готово. Журнал здесь:" & vbNewLine & strTemp
Else
    WScript.Echo "Готово. Ошибка при создании журнала:" & vbNewLine & Err.Description
    Err.Clear
End If
Set objItem = Nothing: Set objFS = Nothing
WScript.Quit 0



2



0 / 0 / 0

Регистрация: 01.07.2014

Сообщений: 14

15.07.2014, 11:19

 [ТС]

11

Всем огромное спасибо! Всё работает. А может стоит куда то вынести сей скрипт, он же достаточно универсальный, может ещё какойнибудь такойже как я чайник сможет применить в своей системе…



0



Эксперт WindowsАвтор FAQ

18059 / 7662 / 891

Регистрация: 25.12.2011

Сообщений: 11,432

Записей в блоге: 17

15.07.2014, 13:47

12

Skydiver_vrn, в принципе можно. Добавил.



0



  • Произошла исключительная ситуация winhttp winhttprequest ошибка поддержки безопасных каналов
  • Произошла критическая ошибка steam vr
  • Произошла исключительная ситуация provider неопознанная ошибка
  • Произошла критическая ошибка parallels desktop
  • Произошла исключительная ситуация microsoft word ошибка команды save as