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

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

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

ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

   

Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TYMAH3003

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


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

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 21:01 26-03-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всё идеально  
использую эту shapp.explore(folder) окошко открывается через проводник можно ли убрать левую часть ,,, что б осталось только снандартное окно винды?

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 22:24 26-03-2009
Maza_Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
TYMAH3003
Используйте shapp.open(folder)

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 08:51 27-03-2009
maratino



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день Знатоки!  
Кто подскажет макрос?
Есть таблица, то есть Счет-фактура
После заполнения первой строки, при нажатии Enter автоматом добавляется вторая строка И тд
Спасибо!

Всего записей: 58 | Зарегистр. 11-03-2007 | Отправлено: 09:14 27-03-2009
Posochov



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

Не по адресу.
Здесь скрипты на VBScript обсуждают, а не макросы на Visual Basic (Excel, Word) .
 
Тут поищи: программирование на visual basic excel

Всего записей: 1703 | Зарегистр. 30-04-2005 | Отправлено: 19:06 27-03-2009 | Исправлено: Posochov, 19:13 27-03-2009
alroy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет !!! Вопрос такой может ли Функция на VBscript  Содержать массив ???и если  
А если конкретней то эта

Код:
 
 
Function  ini_read (in_PyTb)
    
Const ForReading = 1
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
    (in_PyTb, ForReading) '   in_PyTb Путь к файлу для считывания
 
Do Until objTextFile.AtEndOfStream
    strNextLine = objTextFile.Readline
    arrServiceList = Split(strNextLine , vbLf)
     
     
     
    For Each  el_col  In arrServiceList
     
                      If InStr(el_col, "alroy") <> 0 Then
         MsgBox "Слово есть в этом файле " & "в этой строке["& el_col & "]Номер строки : " & objTextFile.Line  
         End If  
        MsgBox el_col
    Next  
 
     
     
   
Loop
            
End Function
 
 
 
 

 
может то пример  
 
 
Отвечаю сам себе может

Всего записей: 59 | Зарегистр. 15-06-2005 | Отправлено: 09:56 31-03-2009 | Исправлено: alroy, 18:24 31-03-2009
ziii



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хорошо бы сделать шапку в теме, и вынести в неё полезные ссылки и решения по теме

Всего записей: 403 | Зарегистр. 09-08-2007 | Отправлено: 17:21 31-03-2009
alexander6161



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Батник запускает скрипт, скрипт получает данные.
Как передать данные, полученные скриптом, назад в батник?

Код:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Windows")
CreateDate = Folder.DateCreated

Как передать в батник значение переменной CreateDate?
Пробовал

Код:
WScript.Quit CreateDate

но так можно только целые числа передавать в определённом диапазоне, строка типа "01.04.2009 11:14:22" не передаётся.

Всего записей: 185 | Зарегистр. 17-08-2008 | Отправлено: 13:16 01-04-2009 | Исправлено: alexander6161, 13:20 01-04-2009
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexander6161
Третья строчка скрипта, вместо CreateDate...:
WScript.Echo Folder.DateCreated
 
и в батнике:
 
for /f "tokens=*" %%a in ('cscript name.vbs //Nologo') do set "fcreated=%%a"
echo %fcreated%

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 14:24 01-04-2009
alexander6161



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
Огромное спасибо! Работает!

Всего записей: 185 | Зарегистр. 17-08-2008 | Отправлено: 18:13 01-04-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а вот нужен скрипт такого типа ,,,,,, запускающий от дня недели разные программы при запуске одного и тогоже скрипта,,,,,,,,,то есть запускаю скрипт в пн-ср прога запускается блокнот .,,,,,с чт-вс запускается ворд ,,,,,,можно так прописать,зарание благодарен!!!  

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 19:29 02-04-2009
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TYMAH3003
В документации смотри примеры с Select ... Case

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 21:03 02-04-2009
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли способ поставить стрелку мыши в центр или край экрана? (rundll32 user,SetCursorPos не работает)
 
Сделал показ лог-файла, но всплывающая подсказка выводится под курсором, поэтому его нужно переместить в центр.

Код:
Set WshShell = CreateObject("WScript.Shell")
Set
FSO = CreateObject("Scripting.FileSystemObject")
 
LogFile = WshShell.ExpandEnvironmentStrings("%windir%\msgsocm.log")
Set
TextStream = FSO.GetFile(LogFile).OpenAsTextStream(1)
CreateObject(
"Internet.HHCtrl").TextPopup TextStream.ReadAll(), "Arial,10",12,1,1,1
TextStream.Close : WshShell.Run "ping -n 2 -w 1 127.0.0.1 > nul", 0, True
WScript.Sleep 10000    'время показа

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 02:56 03-04-2009
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov

Цитата:
Есть ли способ поставить стрелку мыши в центр или край экрана? (rundll32 user,SetCursorPos не работает)  

rundll32 user32,SetCursorPos - убирает в нижний правый угол.
 
Для установки в нужное место можно использовать API через dynwrap.dll или ExecuteExcel4Macro

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 04:39 03-04-2009 | Исправлено: Rush, 04:47 03-04-2009
TYMAH3003

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

Код:
 
if Day(now)>7 Then
'действие
End If
 
этот скрипт срабатывает после 7 числа и до конца месяца,,,,,,как прописать по конкретному дню конкретное действие ,,или хотяб одно в понедельник запускался   блокнот,,  а во все остальные ворд,,.
 
Добавлено:
Такая вот фишка нужна мне на 50 флэшей разным людям лужно скинуть один и тот же файл задание1.doc ,,, файл лежит на D:\задание1.doc  
скрипт должен работать примерно так вставляю флэш он её определяет и автоматом скидывает на неё этот файл в корень флэши ,,,.тоесть мне остаётся только вставлять влэш и вынимать
без всяких лишних действий ,..и ещё проблемка флэшки вставляются сразу в несколько USB и буква флеши меняется можно универсально сделать, чтоб определялась буква и копирывался файл    
 

Код:
On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject")
colDrives = Split("D E F G H I J K L M N O P Q R S T U V W X Y Z")
Set dictDrives = CreateObject("Scripting.Dictionary")
For Each Drive In colDrives
    Set Drv = FSO.GetDrive(Drive & ":")
    If Err.Number Then
        dictDrives.Add Drive & ":", False
    Else
        If Drv.DriveType = 1 And Drv.IsReady Then
            dictDrives.Add Drive & ":", True
        Else
            dictDrives.Add Drive & ":", False
        End If
    End If
    Err.Clear
Next
' Бесконечный цикл
While True
    For Each Drive In dictDrives.Keys
        Set Drv = FSO.GetDrive(Drive)
        If (Err.Number) Or (Drv.IsReady = False) Or (Drv.DriveType <> 1) Then
            Flag = False
        Else
            Flag = True
        End If
        Err.Clear
        Current = dictDrives.Item(Drive)
        If Current <> Flag Then
            If Current = False And Flag = True Then
     
               WScript.Echo "Диск " & Drive & " был подключён."
                WScript.Echo "FileSystem = " & Drv.FileSystem
                WScript.Echo "FreeSpace = " & Drv.FreeSpace
                WScript.Echo "TotalSize = " & Drv.TotalSize
                WScript.Echo "SerialNumber = " & Drv.SerialNumber
                WScript.Echo "VolumeName = " & Drv.VolumeName
             
 
 
'Set FSO = CreateObject("Scripting.FileSystemObject")
'Set File = FSO.GetFile("D:\задание1.doc")
'File.Copy "путь к флэше как задать если он меняется??"
'вот это копирывание не срабатывает  
 
              Else
            End If
            dictDrives.Item(Drive) = Flag
        End If
    Next
WScript.Sleep 3000
    Wend
 

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 12:39 07-04-2009 | Исправлено: TYMAH3003, 13:02 07-04-2009
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TYMAH3003
Если надо просто с понедельника по среду запускать одну прогу, а в четверг-воскресенье другую, то проще так:

Код:
 
set wshshell = createobject("wscript.shell")
if weekday(now, 2) < 4 then wshshell.run "app1.exe" else wshshell.run "app2.exe"
 
 
А если больше программ, то удобней так:

Код:
 
set wshshell = createobject("wscript.shell")
select case weekday(now, 2)
   case 1, 2 wshshell.run "app1.exe"
   case 3, 4 wshshell.run "app2.exe"
   case 5, 6, 7 wshshell.run "app3.exe"
end select
 
 
 
Добавлено:

Цитата:
Такая вот фишка нужна мне на 50 флэшей разным людям лужно скинуть один и тот же фа

Ну и нагорожено же у тебя в скрипте всякой ерунды...
 
Наверное, так проще будет:
Код:
 
set objwmi = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
set disks = objwmi.execnotificationquery("select * from __instancecreationevent " _
          & "within 1 where targetinstance isa 'win32_logicaldisk' and targetinstance.drivetype = 2")
set fso = createobject("scripting.filesystemobject")
do while true
    set remdisk = disks.nextevent
    fso.copyfile "D:\задание1.doc", remdisk.targetinstance.deviceid & "\"  
loop

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 13:24 07-04-2009 | Исправлено: Rush, 15:07 07-04-2009
NovaC

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток !
Как средствами vbs выполнить проверку на повторный запуск ???
vbs Скрипт, завёрнутый в exe(через ExeScript) запускается удалённо (через psexec.exe).
Перед выполнением нужно проверять наличие уже запущенного скрипта.

Всего записей: 95 | Зарегистр. 09-01-2008 | Отправлено: 15:25 07-04-2009
TYMAH3003

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

Код:
 
Set Processes = GetObject("winmgmts://localhost")  
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")  
myProc = False  
For Each Proc In myProcEnum  
    If Proc.Name = "cmd.exe" Then  
        myProc = True  
    End If  
Next  
If Not myProc Then  
        Set WshShell = CreateObject("WScript.Shell")  
    WshShell.Run "cmd.exe", 1, False  
Else  
End If
 

 
Добавлено:
Rush
 
Про диски  
файл копируется только на USB ,,,через ридер не копирует файл ,,,,и скрипт вгрызается в диск A и грызёт без остоновки ёрзает его))) ,,.а можно мой скрипт тпм только проблема с копирыванием файла а так всё ок работает

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 16:09 07-04-2009
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TYMAH3003
Слушай, ты можешь более грамотно и связно излагать свои мысли?
Еще раз объясни - что не так? Я у себя проверил, при вставке флэшки на нее копируется файл автоматом. Никаких проблем.  
Если у тебя все еще присутствует на компе флоппи, то просто допиши:
Код:
 
set objwmi = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
set disks = objwmi.execnotificationquery("select * from __instancecreationevent " _
          & "within 1 where targetinstance isa 'win32_logicaldisk' and targetinstance.drivetype = 2")
set fso = createobject("scripting.filesystemobject")
do while true
    set remdisk = disks.nextevent
    if remdisk.targetinstance.deviceid <> "A:" or remdisk.targetinstance.deviceid <> "B:" then _
    fso.copyfile "D:\задание1.doc", remdisk.targetinstance.deviceid & "\"  
loop
 
 

Цитата:
а можно мой скрипт тпм только проблема с копирыванием файла а так всё ок работает  

Твой скрипт поправлять - себя не уважать. Это настоящая мусорка.
 
Добавлено:
TYMAH3003

Цитата:
Вроде катит

А что катит? К чему этот скрипт относится?

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 16:54 07-04-2009
TYMAH3003

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NovaC это ему "Вроде катит" анти двойной запуск
 
Карочь проблема в том что твой скрипт не копирует файл в случае наличии ридера на компе,,,он не копируется у меня ридер на 5 флэшей то есть 5 дисков и при вставке любой из флэши СД ММС ХД ,,файл не копируется((( а при вставке обычного брелка накопителя USB всё катит,,,,,,,,.ну я нашёл строку которой мне не хватало разрулил карочь ВСЁ ОК спс  

Всего записей: 241 | Зарегистр. 15-03-2009 | Отправлено: 17:50 07-04-2009
   

Страницы: 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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript
ShIvADeSt (12-07-2011 15:12): http://forum.ru-board.com/topic.cgi?forum=33&topic=11963#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru