|
Использование Microsoft VBScript в 1с 8 ₽ |
☑ | ||
|---|---|---|---|---|
|
0
Oleg333
26.09.09
✎
20:35
|
Товарищи помогите кто знает советом решить следующую проблему.
Попытался в 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
МихаилМ
26.09.09
✎
20:42
|
to (0)
URLDownloadToFile Lib ""urlmon.dll"" Alias Насколько я помню, скриптовые языки от мс не поддерживают вывоз длл но может скорее всего есть какие-нибуть ole биилиотеки, через которые можно вызвать нужный метод. |
|||
|
2
МихаилМ
26.09.09
✎
20:50
|
+(1)
из СП v8 HTTPСоединение (HTTPConnection) Получить (Get) Синтаксис: Получить(<Источник>, <Имя выходного файла>, <Заголовки>) Параметры: <Источник> (обязательный) Тип: Строка. Адрес ресурса на сервере. <Имя выходного файла> (обязательный) Тип: Строка. Имя файла, в который помещаются данные полученного ресурса. <Заголовки> (необязательный) Тип: Строка. Указываются заголовки, добавляемые к запросу на сервер. Текстовые пары вида <Заголовок>:<Значение>, разделяемые комбинацией ВК + ПС. Описание: Получает ресурс из указанного адреса. |
|||
|
3
Oleg333
26.09.09
✎
20:51
|
А не подскажите тогда может есть какая-нибудь нормальная компонента для 8-ки с помощью которой можно страницы с интерента скачивать. Использовал всегда для этого такой код:
HTTP=Новый HTTPСоединение(СокрЛП(АдресСервера)); HTTP.Получить(АдресРесурсаНаСервере, ИмяВыходногоФайла); Но почему-то с недавнего времени один из сайтов стал выдавать непонятную страницу в ответ. При этом если тот же адрес открывать через визуальный компонент "ПолеHTMLДокумента", он открывается нормально, но не хотелось бы задействовать визуальный объект, для которого нужно делать форму и т.д. |
|||
|
4
МихаилМ
26.09.09
✎
21:09
|
то (3)
не знаю Поиграйтесь с разными методами. возможно поле хтмл документа умеет читать настройки прокси или еще что, поэтому отображает . как альтернатавный вариант - внеш. компонента v7plus от 1с77 или ole библиотека winhttp на крайний вариант броузер IE через OLE с этим справится. Возможно и в vbscript есть что-то. |
|||
|
5
ShoGUN
26.09.09
✎
21:28
|
(3) >стал выдавать непонятную страницу в ответ.
Чаще всего ответ содержится в этой странице. Тем более, что если раньше все нормально работало - проблема явно не в 1С и HTTPСоединение. |
|||
|
6
dk
26.09.09
✎
21:55
|
насколько я помню стоковые константы в vbs обрамляются одинарной, а не двойной кавычкой
--- а вообще тупо пихаешь код в текстовый vbs и запускаешь, сразу увидишь есть ошибки или нет ) |
|||
|
7
Oleg333
26.09.09
✎
21:59
|
Нашел альтернативу v8: Таки может всетаки подскажет, как считывать URL-ресурс в фоновом режиме?
а вообще похоже МихаилМ прав: "Насколько я помню, скриптовые языки от мс не поддерживают вывоз длл " |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |