Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование "удобняшек" на VBScript

Автор: karakurt2
Дата сообщения: 24.01.2009 08:42
BSUacad, на этот пример Windows Scripting Host у меня пишет

Цитата:
I:\prj\contact\src\setup\sample.wsf(5, 5) Ошибка компиляции Microsoft VBScript: Предполагается наличие инструкции

Если добавить в него реальные инструкции Basic, выдаётся прежняя ошибка. А мой пример на Вашей машине работает?
Автор: BSUacad
Дата сообщения: 24.01.2009 09:12

Код:
<package>
<job id="Job1">
<object id="Installer" progId="WindowsInstaller.Installer"/>
<script language="VBScript">
msgbox "Version=" & Installer.Version
</script>
</job>
</package>
Автор: karakurt2
Дата сообщения: 24.01.2009 09:32
Забавно, но так заработало. Весьма признателен за помощь, BSUacad.
Автор: Demon L
Дата сообщения: 29.01.2009 22:00
Гуру помогите
Возможно ли решить такую задачу:
в папку C:\1 автоматом падают мелкие текстовые файлики вида wsxedcrfv.xyze нужно по содержимому этих файликов разложить их по папкам.
Пример:
все файлики в паке C:\1 рассортировать на C:\2 C:\3 C:\1 по условию: если в файле есть "qwert" положить в C:\2 если есть "yuiop" положить в C:\3 остальные положить в C:\4

Как такое можно сделать, помогите !!
Автор: VikLabel
Дата сообщения: 30.01.2009 21:07
Помогите, как с помощью скрипта:
Остановить службу Windows (если она запущена), а потом её полностью отключить.
Хочу сделать отключение ненужных мне служб одним махом.
Спасибо!
Автор: mozers
Дата сообщения: 31.01.2009 19:45
Demon L
Читаешь эти файлики FSO.OpenTextFile(filename).ReadAll
анализируешь, есть ли в файле указанное слово regEx.Test(strng)
и в, зависмости от результата, копируешь FSO.CopyFile(source, dest)
Все. Подробности - в справке.

VikLabel
Например, останавливаем и дизаблим "Автоматическое обновление":
Код: Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set
colServicesList = objWMIService.ExecQuery _
("Select * From Win32_Service Where Name = 'wuauserv'")

For Each
objService in colServicesList
WScript.Echo objService.Caption
objService.StopService()
errReturnCode = objService.Change( , , , , "Disabled")
Next
Автор: ZDik
Дата сообщения: 03.02.2009 11:10
не запускается VBS на windows 2003
не найден указаный модуль
ссылается на строку set fso = CreateObject("Scripting.FileSystemObject")
Автор: mozers
Дата сообщения: 03.02.2009 13:43
ZDik
Установи WSH для 2003
Автор: ZDik
Дата сообщения: 03.02.2009 16:34
mozers спб
Автор: ponand
Дата сообщения: 04.02.2009 09:14
Подскажите как с помощью jscript или vbscript скрипта открыть страницу в IE перебрать все ссылки и нужные отправить в DM ?
Автор: adSka
Дата сообщения: 08.02.2009 23:33
Здравствуйте!
можно ли с помощью скриптов vb или js создавать интерактивные формы (с чекбоксами, переключателями и тд..)?
или может можно создавать их с помощью чего-то другого и передавать скрипту результаты?
.
ponand
смахивает на чудо :)
можно с помощью wget скачать страницу, открыть её как текстовый файл и чтото пытаться сделать... но это сложно..
ZDik
fso создаётся как ActivexObject
http://msdn.microsoft.com/en-us/library/bkx696eh(VS.85).aspx
Автор: ViSiToR
Дата сообщения: 09.02.2009 00:17
adSka 00:33 09-02-2009
Цитата:
можно ли с помощью скриптов vb или js создавать интерактивные формы (с чекбоксами, переключателями и тд..)?

Нет (за исключением InputBox ).


Цитата:
или может можно создавать их с помощью чего-то другого и передавать скрипту результаты?

Можно с AutoIt.


Цитата:
смахивает на чудо

Да нет вроде, COM в vbs ведь поддерживается

ponand 10:14 04-02-2009
Цитата:
как с помощью jscript или vbscript скрипта открыть страницу в IE перебрать все ссылки и нужные отправить в DM ?

Вот так можно:


Код: 'Получаем объект для инстанции Internet Explorer
Set oIE = WScript.CreateObject("InternetExplorer.Application")

'Указываем переменную содержащую страницу для проверки
sURL = "www.google.ru"

'Задаём состояние окна IE (невидимое)
oIE.Visible = False

'Переходим по ссылке
oIE.Navigate(sURL)

'Ждём полной загрузкий страницы
While oIE.ReadyState <> 4 And StrComp(oIE.ReadyState, "complete") = -1
    WScript.Sleep(10)
WEnd

'Получаем объект со всеми ссылками на странице
Set oLinks = oIE.Document.Links

'Получаем общее число ссылок
iTotal_Links = oIE.Document.Links.Length

'Переменная для списка ссылок (только для отображения)
sLinks = ""

'Проходимся по всем ссылкам помещая их в список
For Each oLink In oLinks
    sLinks = sLinks & "[" & oLink.Href & "], [" & oLink.innerText & "]" & vbCRLF
Next

'Выводим список на экран, плюс спрашиваем о продолжении передачи в DM
iAskQuit = MsgBox("Pass theese links to DM?" & vbCRLF & vbCRLF & sLinks, 36, "Links (" & iTotal_Links & ") List")

'Если юзер отказался, выходим из скрипта
If iAskQuit <> 6 Then
    oIE.Quit
    Wscript.Quit
End If

'Подавление критических ошибок
On Error Resume Next

'Объявляем массив для хранения ссылок (нужно для DM)
ReDim aLinksArray(iTotal_Links*2)

'Счётчик для заполнения массива
i = 0

'Проходимся по всем ссылкам и помещаем их в массив
For Each oLink In oLinks
    aLinksArray(i*2) = oLink.Href 'oLink.Href это адрес
    aLinksArray(i*2+1) = oLink.innerText 'oLink.innerText это заголовок ссылки
    
    'Увеличиваем счётчик при каждом цикле на единицу
    i = i + 1
Next

'Получаем объект dmie.moveurl (для передаи данных в DM)
Set DMCOMObj = WScript.CreateObject("dmie.moveurl")

'Если ошибка, выводим сообщение
If Err <> 0 Then
    MsgBox("ActiveX automation object placed in DMIE.DLL is not registered or corrupted. " & _
        "Please try reinstall Download Master")
Else
    'Передаём ссылки в DM
    Call DMCOMObj.AddURLs(aLinksArray, sURL)
End If

'Закрываем инстанцию IE
oIE.Quit
Автор: igor_andreev
Дата сообщения: 09.02.2009 01:03

Цитата:
можно ли с помощью скриптов vb или js создавать интерактивные формы (с чекбоксами, переключателями и тд..)?

Анимированные персонажи из MS Office(скрепка там и пр.), там можно переключатель задействовать.

Цитата:
или может можно создавать их с помощью чего-то другого и передавать скрипту результаты?

*.hta
Автор: ViSiToR
Дата сообщения: 09.02.2009 01:15
igor_andreev 02:03 09-02-2009
Цитата:
там можно переключатель задействовать

Это как, можно пример?
Автор: igor_andreev
Дата сообщения: 09.02.2009 02:28
ViSiToR
По памяти не помню, на работе завтра посмотрю, там точно есть пример скрипта, вызывающего Office Assistant с чекбоксами

hta примеры на microsoft есть
Автор: ponand
Дата сообщения: 09.02.2009 22:51
ViSiToR
Добавь пожалуйста комментарии ато не пойму куда проверочную ссылку вставить
А из jscript можно отправить в ДМ ?
У меня есть часть кода

Код: var IE = new ActiveXObject ("InternetExplorer.Application");
IE.Visible = true; //только для проверки
IE.Navigate ("www.google.ru");
while (IE.ReadyState != 4);
var links = IE.Document.links;
for (j = 0; j < links.length; j++)
{
var href = links.item(j).href.toString();

if (href.indexOf('www.google.ru') == 0)
{
// в дм -->
}
}
IE.Quit();
Автор: adSka
Дата сообщения: 09.02.2009 23:50
пасибо Очень интересно. Однако, офис надо покупать.. hta возможно удастся юзать без офиса. Есть примерчик с кнопкой, которая жмётся
Автор: ViSiToR
Дата сообщения: 10.02.2009 14:28
ponand 23:51 09-02-2009
Цитата:
Добавь пожалуйста комментарии

Добавил.


Цитата:
из jscript можно отправить в ДМ ?

Думаю можно, но я сильно не знаком с синтаксисом в jscript, оно схоже с vbs, но нужно справку поковырять.
Автор: mihmig
Дата сообщения: 12.02.2009 14:16
adSka

Цитата:
Однако, офис надо покупать.. hta возможно удастся юзать без офиса

Еще можно попробовать AutoIt - бесплатна и формочки можно рисовать и компилить в exe.
Автор: Black_Lung
Дата сообщения: 12.02.2009 15:02
Нужно сделать чтобы это работало через VBS

Код:
Sub Macro1()
Workbooks.OpenText Filename:="D:\xxx.txt", Origin:=1251, _
StartRow:=8, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(13 _
, 1), Array(35, 1)), TrailingMinusNumbers:=True
Rows("2:2").Select
Selection.Delete Shift:=xlUp
Columns("A:C").Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Row = 2
While Cells(Row, 2).Value <> "xxx"
Row = Row + 1
Wend
RowC = Row - 1
Range(Cells(1, 1), Cells(RowC, 3)).Select
Selection.Copy


Set NewBook = Workbooks.Add
NewBook.Activate
ActiveWorkbook.Sheets(1).Paste

ActiveWorkbook.SaveAs "D:\book2.xls"

End Sub
Автор: mozers
Дата сообщения: 12.02.2009 22:16
Black_Lung
Цитата:
В форуме MSDN такие вопросы если задают то шлют...
Я тебя тоже пошлю
Автор: ponand
Дата сообщения: 14.02.2009 07:54
ViSiToR

Цитата:


Код:
'Получаем объект для инстанции Internet Explorer
Set oIE = WScript.CreateObject ("InternetExplorer.Application")
'Указываем переменную содержащую страницу для проверки
sURL = "www.google.ru"
'Задаём состояние окна IE (невидимое)
oIE.Visible = False
'Переходим по ссылке
oIE.Navigate(sURL)
'Ждём полной загрузкий страницы
While oIE.ReadyState <> 4 And StrComp (oIE.ReadyState, "complete") = -1
WScript.Sleep(10)
WEnd
'Получаем объект со всеми ссылками на странице
Set oLinks = oIE.Document.Links
'Получаем общее число ссылок
iTotal_Links = oIE.Document.Links.Length
'Переменная для списка ссылок (только для отображения)
sLinks = ""
'Проходимся по всем ссылкам помещая их в список
For Each oLink In oLinks
sLinks = sLinks & "[" & oLink.Href & "], [" & oLink.innerText & "]" & vbCRLF
Next
'Выводим список на экран, плюс спрашиваем о продолжении передачи в DM
iAskQuit = MsgBox("Pass theese links to DM?" & vbCRLF & vbCRLF & sLinks, 36, "Links (" & iTotal_Links & ") List")
'Если юзер отказался, выходим из скрипта
If iAskQuit <> 6 Then
oIE.Quit
Wscript.Quit
End If
'Подавление критических ошибок
On Error Resume Next
'Объявляем массив для хранения ссылок (нужно для DM)
ReDim aLinksArray(iTotal_Links*2)
'Счётчик для заполнения массива
i = 0
'Проходимся по всем ссылкам и помещаем их в массив
For Each oLink In oLinks
aLinksArray(i*2) = oLink.Href 'oLink.Href это адрес
aLinksArray(i*2+1) = oLink.innerText 'oLink.innerText это заголовок ссылки
'Увеличиваем счётчик при каждом цикле на единицу
i = i + 1
Next
'Получаем объект dmie.moveurl (для передаи данных в DM)
Set DMCOMObj = WScript.CreateObject("dmie.moveurl")
'Если ошибка, выводим сообщение
If Err <> 0 Then
MsgBox("ActiveX automation object placed in DMIE.DLL is not registered or corrupted. " & _
"Please try reinstall Download Master")
Else
'Передаём ссылки в DM
Call DMCOMObj.AddURLs(aLinksArray, sURL)
End If
'Закрываем инстанцию IE
oIE.Quit

Автор: ViSiToR
Дата сообщения: 14.02.2009 10:13
ponand 08:54 14-02-2009
Цитата:
это не совсем то что нужно

А зачем я тогда комменты добавлял?


Цитата:
нужно открыть страницу в IE перебрать все ссылки и только нужные автоматически  отправить в ДМ из командной строки

Я думаю проверить ссылке не трудно через «If oLink.Href <> "http://somepage.com" Then»?


Цитата:
не хватает только отправки из командной строки


Код: Wshell.Exec """Путь\до\DM.exe"" ком. строка"
Автор: tankistua
Дата сообщения: 15.02.2009 13:23
Господа - помогите плиз, заблудился в 3-ех соснах ибо не программер.

Есть батник:

Код:
set kbFolder=kb
set extractFolder=update

start /wait %kbFolder%\office2007sp1-kb936982-fullfile-ru-ru.exe /passive /extract:%extractFolder%
start /wait %kbFolder%\excel2007-kb958437-fullfile-x86-glb.exe /passive /extract:%extractFolder%
start /wait %kbFolder%\office2007-kb958439-fullfile-x86-glb.exe /passive /extract:"%extractFolder%
Автор: ponand
Дата сообщения: 16.02.2009 07:58
ViSiToR

Цитата:
А зачем я тогда комменты добавлял?

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

Цитата:
Я думаю проверить ссылке не трудно через «If oLink.Href <> "http://somepage.com" Then»?

пробовал переделать но не получилось надо еще же лишнее убрать и цикл For вроде бы переделать и отправку ссылки командной строкой вставить а знаний нет и справочник на инглиш только нашел
Можете помочь со скриптом если есть немного свободного времени ?
Автор: ViSiToR
Дата сообщения: 16.02.2009 12:58
ponand 08:58 16-02-2009
Цитата:
надо еще же лишнее убрать

Что именно нужно проверять, какие ссылки пропускать, а какие нет?


Цитата:
отправку ссылки командной строкой вставить

А вот тут подробнее, как передавать ссылки, по одной, или все сразу, списком? И какие ключи поддерживает DM (речь ведь о Download Master?).
Автор: ponand
Дата сообщения: 16.02.2009 15:21
ViSiToR

Цитата:
Что именно нужно проверять, какие ссылки пропускать, а какие нет?

Да именно это и нужно проверить ссылку если сходится с шаблоном отправлять если нет пропускать и еще если это возможно задать исключения тоесть с шаблоном сходится но она не нужна

Цитата:
А вот тут подробнее, как передавать ссылки, по одной, или все сразу, списком? И какие ключи поддерживает DM (речь ведь о Download Master?).

можно по одной и списком тоже можно вроде, только сейчас посмотреть не магу как разделяются ссылки в строке, на работе до 22 по москве
на одну ссылку комстрока выглядет примерно так

Код: "C:\Program Files\Download Master\dmaster.exe" http://s44.radikal.ru/i106/0811/11/f36e9b4dbe49.gif "description=превед, кросафчег" filename=картинко.гиф savepath=c:\ hidden=1 start=0
Автор: ViSiToR
Дата сообщения: 16.02.2009 19:30
ponand
Вобщем вот последний вариант, почти все параметры задаются в начале скрипта:



Код: ' ========== Переменные и параметры ==========
'Путь к DM
sDMPath = "C:\Program Files\Download Master\dmaster.exe"

'Страница для проверки
sURL = "www.google.ru"

'Фильтр ссылок
sURLFilter = "|http://maps.google.ru/maps?hl=ru&tab=wl|http://www.google.ru/intl/ru/options/|"

'Метод проверки фильтра: 0 - проверять содержание ссылки, 1 - проверять исключения
iFltrChkFlag = 0
' ===========================================

'============== Объекты =====================
'Получаем объект для работы с Shell
Set oWSH = CreateObject("WScript.Shell")

'Получаем объект для работы с файловой системой
Set oFS = CreateObject("Scripting.FileSystemObject")

'Получаем объект для инстанции Internet Explorer
Set oIE = CreateObject("InternetExplorer.Application")
'============================================


'Задаём состояние окна IE (невидимое)
oIE.Visible = False

'Переходим по ссылке
oIE.Navigate(sURL)

'Ждём полной загрузкий страницы
While oIE.ReadyState <> 4 And StrComp(oIE.ReadyState, "complete") = -1
    WScript.Sleep(10)
WEnd

'Получаем объект со всеми ссылками на странице
Set oLinks = oIE.Document.Links

'Получаем общее число ссылок
iTotal_Links = oIE.Document.Links.Length

'Переменная для списка ссылок (только для отображения)
sLinks = ""

'Проходимся по всем ссылкам помещая их в список
For Each oLink In oLinks
    If (iFltrChkFlag = 0 And InStr(1, sURLFilter, "|" & oLink.Href & "|", vbTextCompare) > 0) Or _
        (iFltrChkFlag <> 0 And InStr(1, sURLFilter, "|" & oLink.Href & "|", vbTextCompare) < 1) Then
        
        sLinks = sLinks & oLink.Href & vbCRLF
    End If
Next

'Выводим список на экран, плюс спрашиваем о продолжении передачи в DM
iAskQuit = MsgBox("Pass theese links to DM?" & vbCRLF & vbCRLF & sLinks, 36, "Links (" & iTotal_Links & ") List")

'Если юзер отказался, выходим из скрипта
If iAskQuit <> 6 Then
    oIE.Quit
    Wscript.Quit
End If

'Записываем ссылки во временный файл
Set oTempDir = oFS.GetSpecialFolder(2)

sTempPath = oTempDir.Path
sTempFileName = oFS.GetTempName
sTempFileFullPath = sTempPath & "\" & sTempFileName

Set oTempFile = oTempDir.CreateTextFile(sTempFileName, True)

oTempFile.Write sLinks
oTempFile.Close

'Передаём ссылки в DM
oWSH.Run """" & sDMPath & """ """ & sTempFileFullPath & """ SavePath=C:\ Hidden=1 Start=0", 0, True

'Удаляем временный файл (это произойдёт только после завершения процесса DM).
Set oFile = oFS.GetFile(sTempFileFullPath)
oFile.Delete

'Закрываем инстанцию IE
oIE.Quit
Автор: mihmig
Дата сообщения: 17.02.2009 12:13
Вопрос:
Можно ли из VBS(JS) скрипта (или вообще из какой-либо программы, работающей из командной строки) сделать следующие действия(настройки):
1. Файлы в проводнике - списком
2. Меню пуск-классическое
3. Помнить отображения каждой папки НЕТ
4. НЕ кешировать эскизы
5. Не делать автоматический поиск файлов и принтеров

Понятно, что эти настройки хранятся в реестре, но по-моему в двоичном виде (т.е. через ж.)

А то достало на каждом компе который настраиваешь делать много кликов мышкой...

Автор: Maza_Faka
Дата сообщения: 18.02.2009 06:10
mihmig
Возможно вам сюда

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

Предыдущая тема: Работа в Delphi c CryptoApi


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.