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

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

   

maxema

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

Код:
GetObject("Winmgmts:\\блаблабла")  
не работают.
Запускаю скрипт, секунд 10 ничего, а потом появляется сообщение

Код:
Сценарий:               Test.vbs
Строка:  3
Символ: 1
Ошибка: Невозможно создание объекта контейнером ActiveX
Код:         800A01AD
Источник:               Ошибка выполнения Microsoft VBScript

Что у меня не установлено?

Всего записей: 16 | Зарегистр. 15-09-2008 | Отправлено: 14:55 15-09-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
maxema 14:55 15-09-2008
Цитата:
Подскажите, в чем трабл.

Скрипт можно посмотреть?

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:21 15-09-2008
maxema

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

Цитата:
popinou
Цитата:Речь идет о макрос к программе перевода Промт -    
Я хочу включить информацию, находящуюся в тексте макроса в формате    
Что она там делает? Зачем это вообще нужно? А, впрочем, - дело твое...  
 
Цитата:в последовательный файл в формате txt  
Запись в файл выполняется с помощью FileSystem Object. Хорошее описание всех его свойств и методов (на русском и с примерами) - тут.  
 
ViSiToR  
Ну, элементарно, же, Ватсон  
Код:Set Processes = GetObject("winmgmts://localhost")  
Set myProcEnum = Processes.ExecQuery("select * from Win32_Process")  
myProc = False  
For Each Proc In myProcEnum  
    If Proc.Name = "notepad.exe" Then  
        myProc = True  
    End If  
Next  
If Not myProc Then  
    WScript.Echo "Что то я НЕ вижу что запущен Блокнот." & vbNewLine & "Ща я его запушу!..."  
    Set WshShell = CreateObject("WScript.Shell")  
    WshShell.Run "notepad.exe", 1, true  
Else  
    WScript.Echo "Блокнот уже запущен!"  
End If  

 
Подскажите, почему у меня не работает этот скрипт?
Запускаю скрипт, секунд 10 ничего, а потом появляется сообщение

Код:
Сценарий:               Test.vbs
Строка:  3
Символ: 1
Ошибка: Невозможно создание объекта контейнером ActiveX
Код:         800A01AD
Источник:               Ошибка выполнения Microsoft VBScript

Что у меня не устанолено?

Всего записей: 16 | Зарегистр. 15-09-2008 | Отправлено: 15:29 15-09-2008
Posochov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maxema
У меня твой скрипт прекрасно работает.
 
PS
У меня XP, а у тебя часом не Vista?

Всего записей: 1703 | Зарегистр. 30-04-2005 | Отправлено: 15:35 15-09-2008 | Исправлено: Posochov, 15:37 15-09-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
maxema 15:29 15-09-2008
Цитата:
 Невозможно создание объекта контейнером ActiveX

 
Возможно поможет это:
 
http://forum.oszone.net/showthread.php?t=60778

Цитата:
Для Windows XP SP2 переустановите Windows Script (альтернативная ссылка). Для Windows XP SP3 перерегистрируйте Windows Script запустив этот файл.

 
Также можно попробовать переригистрировать vbscript.dll: regsvr32 /s vbscript.dll

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:42 15-09-2008
maxema

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

Всего записей: 16 | Зарегистр. 15-09-2008 | Отправлено: 19:11 15-09-2008
MIHMIH007



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ подскажите плиз как создать VBS который бы создавал РЕГ файл со значением:
 
Windows Registry Editor Version 5.00
 
[HKEY_CURRENT_USER\Control Panel\International]
"sDecimal"="."
 
Попробовал так:
Function
RegFileName = ExpandPath("c:\Path1.reg")
Set fso = CreateObject("Scripting.FileSystemObject")  
Set RegFile = fso.CreateTextFile(RegFileName, true)  
RegFile.WriteLine("Windows Registry Editor Version 5.00")  
RegFile.WriteBlankLines(1)
RegFile.WriteLine("[HKEY_CURRENT_USER\Control Panel\International]")
RegFile.WriteLine(""sDecimal"="."")
RegFile.WriteBlankLines(1)
RegFile.Close
End Function  
 
Где ошибка ?

Всего записей: 743 | Зарегистр. 05-12-2006 | Отправлено: 01:11 16-09-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MIHMIH007 01:11 16-09-2008
Цитата:
Где ошибка ?

Во-первых после Function нужно указывать имя фукнции, также эту функцию нужно вызывать, и что такое «ExpandPath»? откуда оно?
 
Вот так работает:
 

Код:
sRegFile = "C:\Path1.reg"
sString = "[HKEY_CURRENT_USER\Control Panel\International]" & VBCRLF & """sDecimal""=""."""
 
WriteRegFile sRegFile, sString
 
Function WriteRegFile(sRegFilePath, sWriteString)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set RegFile = fso.CreateTextFile(sRegFilePath, True)
    
    RegFile.WriteLine("Windows Registry Editor Version 5.00" & VBCRLF & VBCRLF & sWriteString & VBCRLF)
    RegFile.Close
End Function


----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:50 16-09-2008
maxema

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Изящно.
А созданные объекты в функции не надо удалять, типа Free?(я только учусь;))

Всего записей: 16 | Зарегистр. 15-09-2008 | Отправлено: 05:50 16-09-2008
MIHMIH007



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ViSiToR
Спасбо огромнейшее))) Всё перечитал не нашёл.....  
это----> & VBCRLF & """sDecimal""="".""" помогло...
Вот полный скрипт  для запуска из портативной проги исправляющей при запуске проги значение разделителя с запятой на точку:
Function OnFirstSandboxOwner
RegFileName = ExpandPath("%Personal%\Path1.reg")
Set fso = CreateObject("Scripting.FileSystemObject")
Set RegFile = fso.CreateTextFile(RegFileName, true)
RegFile.WriteLine("Windows Registry Editor Version 5.00")
RegFile.WriteBlankLines(1)
RegFile.WriteLine("[HKEY_CURRENT_USER\Control Panel\International]" & VBCRLF & """sDecimal""="".""")
RegFile.WriteBlankLines(1)
RegFile.Close
RegEditPid = ExecuteExternalProcess("regedit /s " & chr(34) & RegFileName & chr(34))
WaitForProcess RegEditPid, 0
fso.DeleteFile(RegFileName)
End Function

Всего записей: 743 | Зарегистр. 05-12-2006 | Отправлено: 08:26 16-09-2008
Nagual



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MIHMIH007
намного проще было использовать сценарий вместо скрипта

Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 11:59 16-09-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
maxema 05:50 16-09-2008
Цитата:
созданные объекты в функции не надо удалять

Нет вроде, в справках об этом не упоминается(?).
 
MIHMIH007 08:26 16-09-2008
Цитата:
Вот полный скрипт

Откуда он? Это вроде не совсем vbs (vba?).
 
Nagual 11:59 16-09-2008
Цитата:
намного проще было использовать сценарий вместо скрипта

Интересно, а скрипт (Script) это не есть сценарии?

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 13:23 16-09-2008
maxema

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как можно получить список файлов с ftp://ftp.drweb.com/pub/drweb/bases/ проверить их даты и скачать те, которые новее новее текущей даты на компутере? Сделать нечто вроде обновляльщика DrWeb...

Всего записей: 16 | Зарегистр. 15-09-2008 | Отправлено: 14:45 16-09-2008 | Исправлено: maxema, 14:47 16-09-2008
mistx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья!
подскажите плиз скрипт,
который позволил бы переименовать все файлы на всем диске F:\  xxxx.doc на xxx.rtf
интересует не переименование, а полное конвертирование в структуру rtf
 
может есть у кого-нибудь готовый?
 
Заранее благодарю

Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 19:57 16-09-2008 | Исправлено: mistx, 19:57 16-09-2008
Nagual



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViSiToR
не в рамках данной темы обсуждение
думаю, что прояснить ситуацию должно наведение на нужный файл и чтение описания
хотя и командный сценарий можно вполне назвать скриптом, но тогда возникнет лишняя путаница, что нежелательно
 
mistx
думаю, сначала нужно найти утилиту, которая может это сделать, а уж потом смотреть ее параметры и писать сценарий или скрипт
ключевые слова поиска а-ля "doc rtf converter"
думаю, ничего сложного в этом нет
если не получится самому, то определись с утилитой и, возможно, тебе помогут написать его

Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 22:34 16-09-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nagual 22:34 16-09-2008
Цитата:
хотя и командный сценарий можно вполне назвать скриптом, но тогда возникнет лишняя путаница, что нежелательно

Путаница возникает лишь от незнания, «Скрипт/Script» это и есть «Сценарии», это дословный перевод слова «Script» с Английского
 
mistx 19:57 16-09-2008
Цитата:
интересует не переименование, а полное конвертирование в структуру rtf

VBS не самое лучшее средство для этого, возможно AutoIt будет получше?

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 01:41 17-09-2008
alroy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maxema
Скрипт обновленя DrWeb уже давно существует вот сюда сходи  
http://forum.ru-board.com/topic.cgi?forum=35&topic=33191&glp

Всего записей: 59 | Зарегистр. 15-06-2005 | Отправлено: 08:11 17-09-2008
mistx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nagual
ViSiToR
 
есть скрипт, который ищит файлы по расширению и записывает их в файл.
что необходимо дописать, чтобы он их конвертировал еще в добавок?
 
On error Resume Next
 
Dim oWmi
Dim oRef
Dim fso,f
 
strTitle="File Type Search"
strType=InputBox("What type of file do you want to look for? Do NOT use a period.",strTitle,"vbs")
    If strType="" Then  
        wscript.echo "Nothing entered or you cancelled"
        wscript.quit
    End If    
strDrive=InputBox("What local drive do you want to search?  Do NOT use a trailing \",strTitle,"c:")
    If strDrive="" Then
        wscript.echo "Nothing entered or you cancelled"
        wscript.quit
    End If    
 
'trim strDrive just in case the user added a \
strDrive=Left(strDrive,2)
 
strOutput=InputBox("Enter full path and filename for the CSV file.  Existing files will " & _
"be overwritten.",strTitle,"c:\" & strType & "-query.csv")
    If strOutput="" Then
    wscript.echo "Nothing entered or you cancelled"
        wscript.quit
    End If    
 
strQuery="Select Name,CreationDate,LastAccessed,LastModified," & _
"FileSize,Extension,Drive FROM CIM_DATAFILE WHERE Extension='" & strType & _
 "' AND Drive='" & strDrive & "'"
 
Set fso=CreateObject("Scripting.FileSystemObject")
    If fso.FileExists(strOutput) Then fso.DeleteFile(strOutput)
Set f=fso.CreateTextFile(strOutput)
    If Err.Number Then
        wscript.echo "Could not create output file " & strOutput
        wscript.quit
    End If
    
Set oWmi=GetObject("winmgmts:")
If Err.Number Then
  strErrMsg= "Error connecting to WINMGMTS" & vbCrlf
  strErrMsg= strErrMsg & "Error #" & err.number & " [0x" & CStr(Hex(Err.Number)) &"]" & vbCrlf
        If Err.Description <> "" Then
            strErrMsg = strErrMsg & "Error description: " & Err.Description & "." & vbCrlf
        End If
  Err.Clear
  wscript.echo strErrMsg
  wscript.quit
End If
 
Set oRef=oWmi.ExecQuery(strQuery)  
If Err.Number Then
  strErrMsg= "Error connecting executing query!" & vbCrlf
  strErrMsg= strErrMsg & "Error #" & err.number & " [0x" & CStr(Hex(Err.Number)) &"]" & vbCrlf
        If Err.Description <> "" Then
            strErrMsg = strErrMsg & "Error description: " & Err.Description & "." & vbCrlf
        End If
  Err.Clear
  wscript.echo strErrMsg
  wscript.quit
End If
 
wscript.echo "Working ...."
f.Writeline "FilePath,Size(bytes),Created,LastAccessed,LastModified"
 
For Each file In oRef
    f.Writeline file.Name & "," & file.FileSize & "," & ConvWMITime(file.CreationDate) & _
     "," & ConvWMITime(file.LastAccessed) & "," & ConvWMITime(file.LastModified)
Next
 
f.Close
 
wscript.echo "Finished.  See " & strOutput & " for results"
 
Set oWmi=Nothing
Set oRef=Nothing
Set fso=Nothing
Set f=Nothing
 
wscript.quit
 
'************************************************************************************
' Convert WMI Time Function
'************************************************************************************
Function ConvWMITime(wmiTime)
On Error Resume Next
 
yr = left(wmiTime,4)
mo = mid(wmiTime,5,2)
dy = mid(wmiTime,7,2)
tm = mid(wmiTime,9,6)
 
ConvWMITime = mo & "/" & dy & "/" & yr & " " & FormatDateTime(left(tm,2) & _
":" & Mid(tm,3,2) & ":" & Right(tm,2),3)
 
End Function
 
'EOF
 
добавлено
для открытия и сохранения разобрался с функцией
Const wdFormatRTF=6
Set oWord = WScript.CreateObject("Word.Application")
oWord.Visible=True
oWord.Documents.Open "c:\test\junk.doc"
set oDoc=oWord.ActiveDocument
 
oDoc.SaveAs "c:\test\junk.rtf",wdFormatRTF
oWord.DisplayAlerts=False
oWord.ActiveDocument.Close
oWord.Quit
 
 
Помогите плиз объединить 2 скрипта для окончательного результата

Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 13:11 17-09-2008 | Исправлено: mistx, 13:45 17-09-2008
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mistx 13:11 17-09-2008
Цитата:
Помогите плиз объединить 2 скрипта для окончательного результата

Тут просто можно создать функцию и использовать её когда нужно:
 

Код:
ConvertToRTF ".\Test.txt", ".\Test.rtf"
 
Function ConvertToRTF(sSrcFile, sDstFile)
    Const wdFormatRTF = 6
    Set oWord = WScript.CreateObject("Word.Application")
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    sSrcFile = fso.GetAbsolutePathName(sSrcFile)
    sDstFile = fso.GetAbsolutePathName(sDstFile)
    
    If fso.FileExists(sSrcFile) Then
        oWord.Visible = False
        oWord.DisplayAlerts = False
        
        oWord.Documents.Open sSrcFile
        oWord.ActiveDocument.SaveAs sDstFile, wdFormatRTF
        oWord.ActiveDocument.Close
        
        oWord.Quit
    End If
End Function


----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 15:31 17-09-2008
mistx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViSiToR
я в vbs новичок.
Не могли бы вы показать куда мне данную функцию можно вставить в 1-й скрипт, чтобы после того как doc файлы будут найдены и будет записан отчет о их нахождении, производилось их конвертирование?

Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 20:58 17-09-2008
   

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