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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tilks
Просто аплодирую стоя, проверил, работает как надо! Спасибо вам за проявленную помощь от всего сердца.
__________________________
Если не секрет, что сделали, чтобы запустить на win7 64бит? Просто дома мурыжил комп и интернет два дня подряд, и так и не смог разобраться тогда.
Если я правильно понял текст скрипта, то это были единственные необходимые манипуляции своими руками?

Код:
' MSComDlg.CommonDialog component registration
' w7 64bit C:\Windows\SysWOW64\cmd.exe C:\Windows\SysWOW64\regsvr32.exe C:\Windows\SysWOW64\comdlg32.ocx  
' [HKEY_CLASSES_ROOT\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905]  
' @="gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj"  
'  
' run script in w7 64bit system  
' w7 64bit C:\Windows\SysWOW64\wscript.exe c:\testscript.vbs

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 05:36 20-05-2014 | Исправлено: Parazitif, 05:48 20-05-2014
AndVGri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parazitif
Может стоит уже не мучать
Цитата:
 MSComDlg.CommonDialog
?
А воспользоваться чему-нибудь сторонним? Например, WindowSystemObject.

Всего записей: 750 | Зарегистр. 14-12-2005 | Отправлено: 03:52 21-05-2014 | Исправлено: AndVGri, 03:53 21-05-2014
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AndVGri
Дак я ж говорю, что особо не силён в программировании, нашёл в своё время скрипт с похожими задачами, где-то что-то почитал, где-то что-то помогли, так и доделался скрипт.
Теперь задача поменялась, но и с ней уже благодря Tilks удалось справиться.
Где-то ж слышал девиз программиста: если это работает, то лучше не трогай и оставь как есть!)
 
Просто хотел разобраться как этот скрипт завести на win7 64бит..

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 18:50 21-05-2014
slime555



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, помогите со скриптом: есть скрипт, при запуске грохает експлорер и запускает mstsc с конфигом, при закрытии rdp, запускает его снова, дк вот, вместо перезапуска нужно чтоб машинка выключалась.
Вот скрипт:
Code

Всего записей: 151 | Зарегистр. 08-07-2008 | Отправлено: 18:54 26-05-2014 | Исправлено: slime555, 10:57 27-05-2014
Tilks

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

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 22:30 26-05-2014
slime555



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tilks? спасибо, немножко не так, поправил:
Code

Всего записей: 151 | Зарегистр. 08-07-2008 | Отправлено: 06:09 27-05-2014 | Исправлено: slime555, 06:59 27-05-2014
melboyscout



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, как побороть то, что при запуске скрипта посредством Psexec на удаленной windows7 машине окно обнаружения интерактивных служб. В принципе, мне нужно отправлять пользователь сообщение с определенным заголовком окна и все. Если службу отключить, то вообще нет никакой реакции.

Всего записей: 2002 | Зарегистр. 16-02-2010 | Отправлено: 14:36 30-05-2014
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для ожидания завершения процесса использую такой скрипт. На WinXP, все работает. Что нужно изменить, чтобы скрипт нормально работал на Win7х64. На Win7х64 выкидывает такую ошибку:
Source: (null)  
Description: (null)  
File: (null)  
в строке "If objWMIService.ExecQuery(strWMIQuery).Count > 0 then"

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 17:04 09-06-2014 | Исправлено: coherent, 17:05 09-06-2014
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не верю, что никто не знает ответ на выше поставленный вопрос, есть надежда, что просто никто еще не заходил в ветку. Если вопрос очень простой, то заранее извиняюсь за дилетантство.
Вдобавок к этому вопросу, после завершения скрипта в процессах остается висеть Wmiprvse.exe. Это нормально?

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 10:45 10-06-2014
coherent

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Касательно предыдущего вопроса об ошибке при работе скрипта на  Win7х64, эта информация не подтвердилась. Скрипт работает без ошибок. До этого проверял не я. Приношу сообществу свои извинения.

Всего записей: 3881 | Зарегистр. 20-02-2007 | Отправлено: 17:05 10-06-2014 | Исправлено: coherent, 17:06 10-06-2014
loban_ser



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер друзья!
 
Нужна помощь.
 
Как проверить существует-ли гласс, задать его в переменную, вставить сюда:
 
"SELECT * FROM "переменная"  
 
в зависимости от версии ОС т.е:
для Windows 7 = (переменная = OfficeSoftwareProtectionProduct)
Else  
переменная = SoftwareLicensingProduct
 
Пример:

Код:
strComputer = "."  
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")  
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM SoftwareLicensingProduct",,48)  
For Each objItem in colItems  
    Wscript.Echo "ADActivationObjectName: " & objItem.ADActivationObjectName
Next

 
Возможно-ли такое?
 
Спасибо.

Всего записей: 457 | Зарегистр. 23-12-2012 | Отправлено: 18:33 10-06-2014 | Исправлено: loban_ser, 19:01 10-06-2014
vYuriy

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

Всего записей: 3 | Зарегистр. 11-06-2014 | Отправлено: 08:31 11-06-2014
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время
loban_ser
Да. Получаете версию Windows, например,

Код:
 
Set colItems = objWMIService.ExecQuery( _  
     "SELECT Version FROM Win32_OperatingSystem")  
For Each objItem in colItems
     Version = objItem.Version
Next
 

Затем сравнение и передача запроса. Что-то вроде

Код:
 
If Left(Replace(Version,".",""),2)=61 Then
  Class = "OfficeSoftwareProtectionProduct"
Else
  Class = "OfficeSoftwareProtectionProduct"
Enf If
Set colItems = objWMIService.ExecQuery( _  
     "SELECT * " & Class,,48)  
 

 
vYuriy
Подобный вопрос (гиперссылка при импорте из CSV) недавно решил при помощи функции "HyperLink" ("Гиперссылка")
URLPath = "http://www,google.com"
URLName = "Гугл"
Data = "=ГИПЕРССЫЛКА(""" & URL & """;""" & URLName & """)"

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 10:37 16-06-2014
loban_ser



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy Здравствуйте.
Спасибо!
 
Решил.

Всего записей: 457 | Зарегистр. 23-12-2012 | Отправлено: 14:20 16-06-2014 | Исправлено: loban_ser, 09:21 17-06-2014
vYuriy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день, Alex_Piggy! Уже не надеялся что кто то ответит. Я и использовал метод "Hyperlink", пробовал сначала из 1С, потом в макросе - не получается.
 
Добавлено:
Всего скорей где-то права закрыты, или в винде серверной (по умолчанию что-нибудь отключено), или в политики домена.

Всего записей: 3 | Зарегистр. 11-06-2014 | Отправлено: 12:56 17-06-2014
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе время, vYuriy
Все таки, при чем здесь права? Пожалуйста, поясните мысль.
И я говорил про функцию HyperLink, а не метод. Функцию, вводимую в ячейку. То есть не  
ActiveSheet.Hyperlink.Add Range("A1"), "http://www.google.com", "google"
а
Range("A1").Value2 = "=ГИПЕРССЫЛКА(""http://www.google.com"",""google"")"
или
Range("A1").Value2 = "=HYPERLINK(""http://www.google.com"",""google"")"
 
По букве Вашего вопроса - Вам нужен код вроде  

Код:
 
set xlApp = GetObject(, "Excel.Application")
xlApp.Visible = True
 

Проверить, к сожалению, не могу (не установлен Excel).
 
Если у Вас objProcess.ActiveWorkBook.Name отрабатывает нормально, то попробуйте  
objProcess.Visible = True

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 22:06 17-06-2014
vYuriy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Спасибо за совет, функцию попробую. Подозрение на права потому что интерактивно захожу в 1С нажимаю кнопку, и у меня выгружается прайс и корректно отрабатывает макрос, т.е. работает один и тот же механизм, но в одном случае я его запускаю интерактивно, а в другом он запускается службой в фоновом режиме. У меня небольшой опыт в VB, подскажите что такое "set"? Я писал так: xlApp = GetObject(, "Excel.Application")
xlApp.Visible = True, при этом скрипт выпадал в ошибку, я так понимаю что он не может найти запущенный процесс Excel. Сейчас на 100% не уверен, не могу проверить, но всего скорей работающий процесс Excel и скрипт (который должен сделать видимым окно этого процесса) работают в разных сеансах пользователя Windows.

Всего записей: 3 | Зарегистр. 11-06-2014 | Отправлено: 10:16 18-06-2014
yrkrus



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет, ткните в нужном направлении, необходимо проверять наличие ключа в реестре и соответственно выводить сообщение есть ли этот ключ или нет.
 
что то не отрабатывается как надо...
 

Код:
 
Function KeyExists(DisplayName)
    On Error Resume Next
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.RegRead(KeyName & "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\zabbix_agent_config_update\")
 
if err.number <> 0 then  
    wscript.echo "Нет нужного ключа."  
else  
    wscript.echo "Есть нужный ключ."
end if
 
End Function
 

Всего записей: 379 | Зарегистр. 30-11-2010 | Отправлено: 13:51 18-06-2014 | Исправлено: yrkrus, 13:56 18-06-2014
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yrkrus
не понятно что за параметр DisplayName и KeyName. без них работает.

Код:
call KeyExists
Function KeyExists()  
    On Error Resume Next  
    Set WshShell = CreateObject("WScript.Shell")  
    WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\zabbix_agent_config_update\")
if err.number <> 0 then  
    wscript.echo "Нет нужного ключа."  
else  
    wscript.echo "Есть нужный ключ."  
end if  
End Function

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 14:51 18-06-2014
loban_ser



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

Всего записей: 457 | Зарегистр. 23-12-2012 | Отправлено: 14:57 18-06-2014 | Исправлено: loban_ser, 15:18 21-06-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 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