Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросы, задачи и их решения по VBScript.

 
Мануал (english, 600 Кб). | Зеркало
MS Scripting 5.6 (700 КБ), включает последнюю версию VBS. Владельцам XP/2000(?) должен быть не нужен. | Зеркало
Немного на wikiпедии.
Предыдущие части: 1
 
Смежные темы:
Сценарии Windows
Командная строка, батники\сценарии (bat, cmd)
Скрипты KiXtart

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:12 12-07-2011 | Исправлено: Smitis, 23:28 26-02-2018
Vlimiik



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте. Мне очень необходима возможность быстро менять разрешение в Windows с 1280х1024 на 1600х900 и обратно.

Всего записей: 497 | Зарегистр. 11-08-2007 | Отправлено: 23:01 15-12-2015
Flatcher5615

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день! подскажите скрипт на vbs позволяющий отправить сообщение определенному адресату через outlook

Всего записей: 1 | Зарегистр. 21-09-2010 | Отправлено: 12:24 20-12-2015 | Исправлено: Flatcher5615, 12:56 20-12-2015
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Flatcher5615
запустите без параметров, тогда будет видна подсказка.

оутглюка нет, проверить не могу.

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 12:59 20-12-2015
Prodif

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Посоветуйте кто хорошо разбирается, скрипт для скрытия обновлений win, но работает только при наличии сети. Как его в режиме offline заставить выполняться?
---------------------------
Dim hideupdates(18)
 
hideupdates(0) = "KB971033"
hideupdates(1) = "KB2882822"
hideupdates(2) = "KB2952664"
hideupdates(3) = "KB2977759"
hideupdates(4) = "KB2990214"
hideupdates(5) = "KB3021917"
hideupdates(6) = "KB3022345"
hideupdates(7) = "KB3035583"
hideupdates(8) = "KB3050265"
hideupdates(9) = "KB3065987"
hideupdates(10) = "KB3068708"
hideupdates(11) = "KB3075249"
hideupdates(12) = "KB3075851"
hideupdates(13) = "KB3080149"
hideupdates(14) = "KB3081954"
hideupdates(15) = "KB3083324"
hideupdates(16) = "KB3083710"
hideupdates(17) = "KB3088195"
hideupdates(18) = "KB3102810"  
 
Set WSHShell = CreateObject("WScript.Shell")
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"
Set updateSearcher = updateSession.CreateUpdateSearcher()
Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
 
Checkagain = "True"
 
For K = 0 To 18
If Checkagain = "True" Then
Checkagain = "False"
CheckUpdates
ParseUpdates
End if
Next
 
'Open Windows Update after remove the comment '
'WshShell.Run "%windir%\system32\control.exe /name Microsoft.WindowsUpdate"
 
Set objWshShell = nothing
Set WSHShell = Nothing
WScript.Quit
 
 
Function ParseUpdates 'cycle through updates
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
strUpdateName = update.Title
'WScript.Echo I + 1 & "> " & update.Title
For j = 0 To UBound(hideupdates)
if instr(1, strUpdateName, hideupdates(j), vbTextCompare) = 0 then
Else
strAllHidden = strAllHidden _
& vbcrlf & update.Title
update.IsHidden = True'
Checkagain = "True"
end if
Next
Next
End Function
 
Function CheckUpdates 'check for new updates cause Bing Desktop has 3
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"
Set updateSearcher = updateSession.CreateUpdateSearcher()
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
End Function

Всего записей: 405 | Зарегистр. 25-02-2007 | Отправлено: 19:48 30-01-2016
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, есть такой скрипт, он создает через Word подпись для Outlook 2013.  
Необходимо его модифицировать т.о., чтобы получилась такая компоновка:
   
 
Где 1, 2, 3 -- гиперссылки. Насколько я понимаю единственный способ это резать картинку на 5 отдельных и на нужные назначать ссылки? Но можно ли быть уверенным в том, что между картинками не будет отступов?
 
И самое главное, как сделать так, чтобы картинки были одна под другой, а текст справа?
 
 

Код:
On Error Resume Next
Set objSysInfo = CreateObject("ADSystemInfo")
strUser = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
strRegard = "Best regards,"
strBlank =""
'Получаем полное имя
strName = objUser.FullName
'Должность
strTitle = objUser.Title
'Подразделение
strDepartment = objUser.Department
'Компания
strCompany = objUser.Company
'Номер телефона
strPhone = objUser.telephoneNumber
strOffice = objUser.PhysicalDeliveryOfficeName
'Сотовый
strMobile = objUser.mobile
'Факс
'strFax = objuser.facsimileTelephoneNumber
'Получаем почтовый индекс
'strPostIndex = ObjUser.postalCode
'Город
'strCity = objuser.l
'Улица
'strStreet = objuser.streetAddress
'адрес электронной почты
strEmail = objuser.mail
'WEB страница
'strWeb = objuser.wWWHomePage
strWeb = "apsite.com"
'Логотип организации
strLogo = "C:\Program Files\Logo.png"
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'СОЗДАЕМ САМУ ПОДПИСЬ
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
'Начертаниен шрифта
objSelection.Font.Bold = False
'Шрифт
objSelection.Font.Name = "Arial"
'Размер
objSelection.Font.Size = "11"
'Цвет, можно указывать в десятичном или RGB формате, тогда: RGB(0, 0, 110)
objselection.font.color = RGB(0, 0, 0)
 
'Формат
objSelection.TypeText strRegard
objSelection.TypeText CHR(11)
 
'пустая строка
objSelection.Font.Size = "8"
objSelection.TypeText strBlank
objSelection.TypeText CHR(11)
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Начертание шрифта
objSelection.Font.Bold = False
'Шрифт
objSelection.Font.Name = "Arial"
'Размер
objSelection.Font.Size = "11"
'Цвет, можно указывать в десятичном или RGB формате, тогда: RGB(0, 55, 110)
objselection.font.color = RGB(0, 0, 0)
 
'Вставляем полное имя
objSelection.TypeText strName
objSelection.TypeText CHR(11)
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Начертание шрифта
objSelection.Font.Bold = False
'Шрифт
objSelection.Font.Size = "11"
'Цвет, можно указывать в десятичном или RGB формате, тогда: RGB(0, 55, 110)
objselection.font.color = RGB(0, 0, 0)
'Должность
objSelection.TypeText strTitle
objSelection.TypeText CHR(11)
'Подразделение
'''objSelection.TypeText strDepartment
'''objSelection.TypeText CHR(11)
 
'Наименование Компании
'objSelection.TypeText strCompany
objSelection.TypeText CHR(11)
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Шрифт
'objSelection.Font.Size = "4"
 
'пустая строка
'objSelection.TypeText strBlank
'objSelection.TypeText CHR(11)
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'ДОБОВЛЯЕМ ЛОГОТИПЫ
 
'логотип компании
objSelection.InlineShapes.AddPicture(strLogo)
objSelection.TypeText CHR(11)
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Шрифт
'objSelection.Font.Size = "4"
 
'пустая строка
objSelection.TypeText strBlank
objSelection.TypeText CHR(11)
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Начертание шрифта
objSelection.Font.Bold = False
'Уменьшаем размер шрифта для адреса
objSelection.Font.Size = "9"
'Цвет, можно указывать в десятичном или RGB формате, тогда: RGB(0, 55, 110)
objselection.font.color = RGB(0, 0, 0)
 
'Телефон
objSelection.TypeText "Tel: " & strPhone  
 
'Телефон
If (strOffice<>"") then objSelection.TypeText " ext. " & strOffice  
'objSelection.TypeText " ext. " & strOffice
objSelection.TypeText CHR(11)
 
'Сотовый
If (strMobile<>"") then objSelection.TypeText  "Mob: " & strMobile & CHR(11)
'objSelection.TypeText " Mob: " & strMobile
'objSelection.TypeText CHR(11)
 
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'ДОБОВЛЯЕМ ССЫЛКИ
'Начертание шрифта
objSelection.Font.Italic = True
'Изменяем цвет для адреса электронной почты и сайта
objselection.Font.Color = RGB(0, 0, 0)
 
'Вставляем адрес почты
Set hyp = objSelection.Hyperlinks.Add(objSelection.Range, "mailto:" & strEmail, , , strEmail)
hyp.Range.Font.Size = "11"
objSelection.TypeText CHR(11)
 
'корпоративный сайт
Set hyp = objSelection.Hyperlinks.Add(objSelection.Range, strWeb, "", "", strWeb)
hyp.Range.Font.Size = "11"
objSelection.TypeText CHR(11)
 
'пустая строка
objSelection.TypeText strBlank
objSelection.TypeText CHR(11)
 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'ДОБОВЛЯЕМ ЛОГОТИПЫ
 
'логотип компании
'objSelection.InlineShapes.AddPicture(strLogo)
 
Set objSelection = objDoc.Range()
 
objSignatureEntries.Add "Corp. Signature", objSelection
objSignatureObject.NewMessageSignature = "Corp. Signature"
objSignatureObject.ReplyMessageSignature = "Corp. Signature"
 
objDoc.Saved = True
objDoc.Close
objWord.Quit

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 21:32 08-02-2016
moonden

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток.
Поиском не нашел, задача такая:
 
Нужно с помощью vbs скрипта определить разрешение экрана. Если оно меньше 1024x768, то запуск Proga1.exe. Если больше или равно 1024x768, то запуск Proga2.exe.

Всего записей: 28 | Зарегистр. 16-06-2009 | Отправлено: 14:28 27-02-2016
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну.... например...

Код:
Set oIE = CreateObject("InternetExplorer.Application")
With oIE
    .Navigate("about:blank")
    Do Until .readyState = 4: wscript.sleep 100: Loop
        width = .document.ParentWindow.screen.width
End With
oIE.Quit
 
Dim WshShell
set WshShell = WScript.CreateObject("WScript.Shell")
if Width < 1024 then
  WshShell.Run("Proga1.exe")  
else
  WshShell.Run("Proga2.exe")  
end if



Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 20:05 27-02-2016 | Исправлено: KDPoid, 20:06 27-02-2016
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста с классами.
Интересует передача параметров при создании экземпляра.
Нашёл на этой странице пример, но неразжёванным он у меня не получается:

Цитата:
VBScript поддерживает концепцию конструктора с помощью метода Class_Initialize. Это частный (private) метод. Он не принимает параметров и вызывается автоматически при создании нового экземпляра класса. При использовании ключевого слова New вызывается метод Class_Initialize, если таковой существует.
 
Чтобы обойти ограничения в отношении параметров Class_Initialize, можно написать специальную функцию, например:

Код:
 
Function NewFoo(Param1, Param2, ...)
    Dim myFoo
    Set myFoo = New Foo
    myFoo.attr1 = Param1
    myFoo.attr2 = Param2
    ' ( ... дополнительные шаги инициализации ... )
    Set NewFoo = myFoo
End Function

Возникли вопросы:
1. Как принять передаваемые параметры?
2. Откуда вызывать функцию NewFoo?
3. Как быть с "myFoo.attr1 = Param1", если attr1 должен передаваться только при создании, а в дальнейшем меняться не должен?
4. Как правильно создать экземпляр класса с передачей параметров?
Извините, с классами на Вы, а нужно бы одну сложную структуру оформить через них, массивы массивов слишком громоздки в пользовании получились.
 
Добавлено:
Или эта функция должна быть снаружи класса, а свойство надо делать открытым для присвоения, используя некий внутренний флаг первичности присвоения?

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 17:08 24-04-2016
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fff222fffy1

Цитата:
Или эта функция должна быть снаружи класса, а свойство надо делать открытым для присвоения, используя некий внутренний флаг первичности присвоения?

Да, т.к. нет функциональности создания экземпляра класса с параметрами.

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 20:32 24-04-2016
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, если бы ещё подумал, то и надобность в вопросе отпала бы.
Но может ещё кому полезно будет.

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 20:37 24-04-2016
kalyan57

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток
 
Кто сталкивался и знает однозначно:  есть ли возможность использования составных условий IF в VBS?  
 
Например  
 
If (a=b) AND (b<>0) then  
   ...  
else  
   ...  
end if  
 
При запуске в процессе интерпретации вылетает ошибка  
 
Сценарий: my.vbs  
Строка: 123  
Символ: 34 (сразу за первым условием, будто ожидает then и никак не ожидает логического оператора AND)  
Ошибка: Синтаксическая ошибка  
Код:800A03EA  
Источник: Ошибка компиляции Microsoft VBScript

Всего записей: 20 | Зарегистр. 31-10-2011 | Отправлено: 13:07 06-05-2016
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalyan57
тырнет грит  
If ((a=b) AND (b<>0)) then

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 13:14 06-05-2016
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Рабочие варианты, которые я скопировал из своих кодов:

Код:
 
If Not (NewWidth="" And NewHeight="") Then
...
If Win.NewWidth.Value & Win.NewHeight.Value="" Or IsNumeric(Win.NewWidth.Value & Win.NewHeight.Value) Or (IsNumeric(Win.NewWidth.Value) And IsNumeric(Win.NewHeight.Value)) Then
...
If CInt2(Komplekts(i))>=CInt2(KomplArray(j)) And CInt2(Komplekts(i))<=CInt2(KomplArray(j+1)) Then
...
if tmpDate>=tmpFrom And tmpDate<DateAdd("d",1,tmpTo) then
...
If Left(Stroka(1),1)="\" And Left(Stroka(1),2)<>"\\" Then
 

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 13:25 06-05-2016
kalyan57

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tilks
fff222fffy1
Спасибо за ответы. Внешние скобки не обязательны.
Прост, как оказалось, все условие должно быть записано в одну строку
 
так
If a=b and
               c<>1 then
   ....
end if
не работает
 
хорррошо, учтем-с

Всего записей: 20 | Зарегистр. 31-10-2011 | Отправлено: 13:58 06-05-2016
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно так:

Код:
If a>b And _
            c>b Then


Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 14:03 06-05-2016
kalyan57

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Символ нижнего подчеркивания говорит интерпретатору дочитать со следующей строки?

Всего записей: 20 | Зарегистр. 31-10-2011 | Отправлено: 14:10 06-05-2016
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, это перенос строки.

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 14:13 06-05-2016
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста по классам.

Код:
    Class SimpleClass
        Public Num
        Private Sub Class_Initialize
            Num=0
        End Sub
        
    End Class
 
        Dim c1,c2,Str
        Set c1=New SimpleClass
'В этот момент c1.Num=0
        Set c2=c1
'c2.Num=0
        c2.Num=2
'а теперь и c2.Num=2, и c1.Num=2, то есть конструкция Set c2=c1 создаёт ещё одну ссылку на тот же объект

Есть ли в vbs какая-нибудь конструкция создания независимой копии экземпляра класса с копированием всех свойств?

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 13:23 14-05-2016
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Создал в классе свойство IsEmpty, которое пересекается именем с функцией vbs IsEmpty.
Теперь внутри класса при использовании IsEmpty автоматически предполагается обращение к свойству класса, а не к функции.
Понятно конечно, что свойство надо переименовывать, но для общего развития:
Можно ли в подобном случае каким-то образом явно обратиться к функции vbs?

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 23:41 19-05-2016
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Из серии "случайно обнаружил":
если при активном окне от MsgBox или сообщения об ошибке нажать Ctrl C, то в буфер обмена попадает всё его содержимое.

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 13:44 20-05-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru