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

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

Автор: igor_andreev
Дата сообщения: 18.02.2009 09:35
ViSiToR

Цитата:
Это как, можно пример?

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

Код:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objXL = CreateObject("Excel.Application")

objXL.Workbooks.Add
objXL.Visible = False
objXL.Assistant.Visible = True

With objXL.Assistant
.Reduced = True
.Left = 600
.Top = 600
.MoveWhenInTheWay = True
End With

Set Balloon = objXL.Assistant.NewBalloon

Balloon.Heading = "Title"
Balloon.Text = "Select please"
Balloon.CheckBoxes(1).Text = "checkbox 1"
Balloon.CheckBoxes(2).Text = "checkbox 2"
Balloon.CheckBoxes(3).Text = "checkbox 3"
Balloon.CheckBoxes(4).Text = "checkbox 4"
Balloon.Show

If Balloon.CheckBoxes(1).Checked Then Wscript.Echo "You select checkbox 1."
If Balloon.CheckBoxes(2).Checked Then Wscript.Echo "You select checkbox 2."
If Balloon.CheckBoxes(3).Checked Then Wscript.Echo "You select checkbox 3."
If Balloon.CheckBoxes(4).Checked Then Wscript.Echo "You select checkbox 4."

objXL.quit
Wscript.Quit
Автор: mihmig
Дата сообщения: 18.02.2009 12:20
igor_andreev
Предупреждаю, что вышеуказанный скрипт будет ругаться, если MSOffice установлен БЕЗ компоненты Assistant (а такое частенько встречается)

Как вариант посмотрите все-таки на Autoit!

Добавлено:
Да, и к тому же хоть в связи с антипиратством винду и покупают, офис то все-таки все больше и больше ставят Openoffice...
Автор: VAKULENKOOLEG
Дата сообщения: 19.02.2009 15:58
Столкнулся с проблемой нужно написать скрипт который будет сканировать ПК на наличие пользователя в группе администраторы и если он находиться в данной группе то будет сохранять имя пользователя имя ПК и дату в файл. Но что то не работает помогите найти причину.
Скрипт:
Const ForAppending = 8
Const olTxt = 0
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName                 
strUser = objNetwork.UserName                
st=strComputer
Set objGroup = GetObject("WinNT://" & cstr(strComputer) & "/Администраторы")
For Each objUser in objGroup.Members'
If objUser.Name = strUser Then                                                
Rem Set objFile = objFSO.OpenTextFile("c:\Computer.txt", ForWriting)

Rem Set a = objFSO.CreateTextFile("c:\"&cstr(strComputer)&".txt", ForWriting)
objFile.Write (strComputer)
objFile.Write (strUser)    
objFile.WriteLine (dtmToday)            
objFile.Close
End If
Next

Автор: inetsofter
Дата сообщения: 23.02.2009 13:43
Подскажите пожалуйста: необходимо, что программа перед началом установки (допустим, setup.exe) проверяла в реестре наличие выключенного UAC в Windows Vista/7 (параметр=0).
[HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ System]

"ConsentPromptBehaviorAdmin"=0
[HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ System]
"EnableLUA"="0"
Если условие удовлетворяет этому параметру, то происходит запуск программы, если нет, то выдается соответствующее msgBox-сообщение и затем exit из программы установки.
Как правильно на скрипте VB написать сценарий установки?
В идеале, конечно, было бы здОрово сделать следующее: программа в случае обнаружения включенного UAC запрашивала разрешение на его отключение (иначе exit), добавляла продолжение выполнение установки программы в автозагрузку, производила перезагрузку, продолжала установку, удаляла из автозагрузки команду запуска установки и файлы из темповой папки, куда распакованы установочные файлы.
Автор: bygamer
Дата сообщения: 23.02.2009 16:48
Как средствами vbs получить доступное место на диске, подключенном как NTFS папка?

Автор: winhex
Дата сообщения: 25.02.2009 08:19
Есть вот такой скрипт для создания ярлыка на рабочем столе:

Код: Option Explicit

Dim WshShell, oShellLink, Path

Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set oShellLink = WshShell.CreateShortcut(WshShell.SpecialFolders("AllUsersDesktop")+"\progrаm.lnk")
oShellLink.TargetPath = WshShell.ExpandEnvironmentStrings("C:\WINDOWS\system32\program.exe /W:C")
oShellLink.IconLocation = WshShell.ExpandEnvironmentStrings("%SystemRoot%\system32\program.exe") & ", 0"
oShellLink.Save

Set oShellLink = Nothing
Автор: mozers
Дата сообщения: 25.02.2009 11:41
winhex
Код: oShellLink.TargetPath = WshShell.ExpandEnvironmentStrings("%windir%\system32\program.exe")
oShellLink.Arguments = "/W:C"
Автор: Messelin
Дата сообщения: 03.03.2009 12:35
Приветствую всех.
опишу ситуацию, очень много машин есть, они стоят списком в экселе(отчет)
когда машина падает по каким-либо причинам приходит письмо такого содержания
ОТ: NOtify@xxx
Тема: Incident HD0000000269786 is assigned to group admin001
Тело письма такое:
Incident HD0000000269786 with priority Low is assigned to group admin001. The incident relates to the contract Monitoring - ESM-SHARED_1 - Storage Mgt - Failed.
Description:client atviec01 has failed.
Receiver: Monitoring User

ps: письмо приходит в outlook 2003

Вобще основная идея я в том, чтобы номер тикета, в нашем случае это HD0000000269786 копировать в комментарий к имени машины в отчете экселя.

Т.е упал atviec01 для него в коментарии джолжен быть номер тикета.

Вообще в моей точки зрения вообще кажется это Весьма тяжелым случаем.
vbscript не знаю, на bash сделал бы что-нибудь.

Буду очень рад любым предложениям.

Автор: sLap
Дата сообщения: 03.03.2009 19:11
Всем Привет!
На домашней машинке постоянно пашет µTorrent и жена любит его вырубать когда лазает по инету (т.к. он отжирает трпфик), но врубать всегда забывает. Для этого я добавил задание в шедулер на 10 минут после простоя на запуск µTorrent.
Всё бы ничего, но ребенок любит смотреть мультики на компе и запуск µTorrent даже с ключом /MINIMIZED скидывает развернутый на весь экран MediaPlayer.
Я вижу с пока 3 метода решения задачи:

1. сделать так чтобы окно плеера не слетало при запуске торрента (реально ли скриптом такое сделать?)

2. поставить домашний прокси-сервер или что-либо в этом духе и настроить приоритетизацию трафика (из другой области, и пока что неосуществимо)

3. сделать скрипт (vbs, powershell,...) так чтобы торрент не запускался пока запущены процессы mplayerc.exe или vlc.exe с отжиранием проца не менее скажем 2%.

Третий вариант как раз больше всего относится к топику. Вобщем он и есть вопрос. Подскажите плз, как такое замутить. Если есть более простые оффтоповые решения — буду только рад!
Автор: Maza_Faka
Дата сообщения: 04.03.2009 09:10
sLap

Цитата:
Если есть более простые оффтоповые решения

Использовать другой плеер, скажем KMPlayer, который перекрывает все другие окна
Автор: Sheff_aka_mario
Дата сообщения: 04.03.2009 12:04
Есть скрип создающий на сервере папку по имени пользователя и мапящий диск ему на эту папку при этом проверяет есть ли уже такя папка. вот
' ------ SCRIPT CONFIGURATION ------
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set objNetwork = CreateObject("Wscript.Network")
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objWSH = CreateObject("WScript.Shell")
Set objShell = CreateObject("Shell.Application")
objUserName = objNetwork.UserName
strDrive = "Z:"
strNewDiskName = "Личная папка "&objUserName
strPath = "\\Server\student\"&objUserName
boolPersistent = True

' ------ END CONFIGURATION ---------
On Error Resume Next

if (objFS.FolderExists(strPath)) = false then

Call objFS.CreateFolder(strPath)

strACLCommand = "cmd /c echo y| CACLS "
strACLCommand = strACLCommand & strPath
strACLCommand = strACLCommand & " /g DOMAIN\" & objUserName & ":F"
return = objWSH.Run (strACLCommand , 0, True)


Call WshShell.Run("cacls " & strPath & _
" /e /g DOMAIN\" & "admin" & ":f", HIDE_WINDOW, WAIT_ON_RETURN)

Call WshShell.Run("cacls " & strPath & _
" /e /g DOMAIN\" & "fulladmin" & ":f", HIDE_WINDOW, WAIT_ON_RETURN)
end if

objNetwork.MapNetworkDrive strDrive, strPath, boolPersistent
objShell.NameSpace(strDrive).Self.Name = strNewDiskName

Как сделать чтобы этот скрип мапил 2 диска(второй просто на уже созданную папку например \\Server\quest ) нужно все в одном скрипте бы... не хочется разводить огород скриптов
Автор: alroy
Дата сообщения: 04.03.2009 13:10
Sheff_aka_mario
Ну если как ты говоришь скрипт правильный то ничего сложного в этом нет прост надо сделать функцию и как параметры передать вот эти значения:


Цитата:


strDrive = "Z:"
strNewDiskName = "Личная папка "&objUserName
strPath = "\\Server\student\"&objUserName



те что в кавычках

ну а потом можно сколько угодно подключать дисков
Автор: Sheff_aka_mario
Дата сообщения: 04.03.2009 14:40
то что нужно задействовать те значения я понял... сложность состоит именно в том чтобы создать ету функцию..ибо програмер из меня ужасный Если не сложно пример бы конкретный....
Автор: alroy
Дата сообщения: 04.03.2009 15:11

Код: Function file_exists (PyTb,File)
    Set FSO = CreateObject("Scripting.FileSystemObject")
     file_exists = FSO.FileExists(PyTb&File)
End Function
Автор: Sheff_aka_mario
Дата сообщения: 04.03.2009 16:12
Ну дерево я в программирвании ((
как это
strDrive = "Z:"
strNewDiskName = "Личная папка "&objUserName
strPath = "\\Server\student\"&objUserName

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

Автор: mihmig
Дата сообщения: 05.03.2009 06:20
Я делаю так:
в uTorrent включаю WebUi и делаю ярлычки на wget:
wget "http://admin:admin@192.168.0.222:600/gui/?action=setsetting&s=max_dl_rate&v=15&t=2223811535641" -O i.htm


еще почитай:
http://torrents.ru/forum/viewtopic.php?t=1099690
Автор: sLap
Дата сообщения: 06.03.2009 02:49
Maza_Faka
Спасибо! В принципе ничего, но всё равно при запуске задания панель задач вылазит и висит, пока не ткнешь в середину экрана. Непоняно, почему ключ /MINIMIZE у uTorrent не пашет..
Автор: Maza_Faka
Дата сообщения: 06.03.2009 06:40
sLap

Цитата:
но всё равно при запуске задания панель задач вылазит и висит

Можно сунуть в автозагрузку батник с таким содержимым:

Код:
@Echo Off

Tasklist | Find "wmplayer.exe">Nul && GoTo :EOF
Start "" "%PROGRAMFILES%\UTorrent\Utorrent.exe" /MINIMIZED
Автор: sLap
Дата сообщения: 07.03.2009 07:47
Maza_Faka
Спасибо! В принципе неплохо.. вот еще бы можно было бы определять процент загрузки ЦП, а то плеер может и висит, но кино уже кончилось и у компа никого нет..
Автор: litestayer
Дата сообщения: 11.03.2009 16:05
Помогите плиз с vbs.
Ежедневно формируется html-документ.
Необходимо с помощью скрипта:
1.пронумеровать страницы;
2.установить формат листа "альбомный";
3.установить поля (верхнее 2см, остальные 1см);
4.распечатать нечетные листы, затем четные листы.

Все что пока смог накалякать:
-----------------------
Dim wdApp, wdDoc
Set wdApp = CreateObject("Word.Application")
Set wdDoc = wdApp.Documents.Open("c:\vedom.htm")
wdApp.Visible = True
-----------------------
Дальше пока не получается
Автор: alxkk
Дата сообщения: 18.03.2009 16:01
Хочу в IE убрать галку "Автоматическое определение параметров" скриптом

Сервис->Свойства обозревателя->Подключения->Настройка-> Автоматическое определение параметров

Где это значение в реестре(не нашел)?
Или как на vbs это можно сделать??
Автор: VAKULENKOOLEG
Дата сообщения: 20.03.2009 17:38
нужен скрипт который смотрит группу Администраторы и записует всех его членов в файл. Очень нужно кто может помогите.
Автор: jONES1979
Дата сообщения: 22.03.2009 14:33
litestayer в ворде есть "запись макросов", даст тебе почти что весь нужный код.

vba от vbs для данного случая будет отличаться лишь следующим:

1. в vbs все переменные типа variant , то есть их тип указывать не надо
2. Придется описать все константы, которые будут использоваться в автогенериуемом коде
Автор: alexander6161
Дата сообщения: 23.03.2009 19:05
Подскажите, как можно изменить дату создания папки на текущую? Папка имеет внушительный размер и содержит много папок и файлов, поэтому с помощью создания новой папки и копированием в неё не получится.
Автор: TYMAH3003
Дата сообщения: 23.03.2009 19:35
Можно ли в VBS прописать код на открытие папки в винде,,,,.скажем на рабочем столе лежит вбс запускаем его и нам открывается к примеру папка на диске д:\муз\,,,,вот такое вот скриптик знает кто??? ну очень нужен .,,,,,хочу использовать в комбинации с создаением папки и затем открытие её ,,нужная вещ

Код: Dim fso, Text, FolderName, FileName 'переменные
'создаем объект FileSystemObject в переменную fso
Set fso = CreateObject("Scripting.FileSystemObject")
FolderName = InputBox("Имя папки?") 'спросим имя папки
FileName = InputBox("Имя файла для создания?") 'спросим имя файла
Set Fldr = fso.CreateFolder ("D:\" & FolderName) 'создадим папку
MsgBox "Создана папка: " & FolderName 'сообщим пользователю
Set Text = fso.CreateTextFile ("D:\" & FolderName & "\" & FileName) 'создадим файл
Автор: Rush
Дата сообщения: 24.03.2009 01:09
TYMAH3003

Код:
folder = "c:\"
set shapp = createobject("shell.application")
shapp.open(folder)
' или
shapp.explore(folder)
Автор: Rush
Дата сообщения: 24.03.2009 17:28
alexander6161

Цитата:
Подскажите, как можно изменить дату создания папки на текущую? Папка имеет внушительный размер и содержит много папок и файлов, поэтому с помощью создания новой папки и копированием в неё не получится.

Можно перемещением. Размер папки роли не играет.

Код: updDir = "c:\transfers"
tmpDir = updDir & "_temp"
set fso = createobject("scripting.filesystemobject")
with fso
.movefolder updDir, tmpDir
.createfolder updDir
.movefolder tmpDir & "\*", updDir
.movefile tmpDir & "\*", updDir
if .getfolder(tmpDir).size = 0 then .deletefolder tmpDir
end with
Автор: TYMAH3003
Дата сообщения: 24.03.2009 22:44
Rush пасиб красотище работает)))+1
Автор: TYMAH3003
Дата сообщения: 26.03.2009 20:01

Цитата:
folder = "c:\"
set shapp = createobject("shell.application")
shapp.open(folder)
' или
shapp.explore(folder)


А можно прописать имя каталога так,,, что где лежит сам скрипт та папка и открывалать ,то есть не "С:\" где он сам лежит , с д е,,, в корне лежит vbs этот корневой диск и открывался нужно что -то поменять тут наверно folder = "c:\" а вот что??
Автор: Rush
Дата сообщения: 26.03.2009 21:01
TYMAH3003

Цитата:
А можно прописать имя каталога так,,, что где лежит сам скрипт та папка и открывалать


Код: set fso = createobject("scripting.filesystemobject")
folder = fso.getfile(wscript.scriptfullname).parentfolder
set shapp = createobject("shell.application")
shapp.open(folder)
' или
shapp.explore(folder)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475

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


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