1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Вопрос по VBS

SCADA, серверы, АРМ верхнего уровня, диспетчерские
Ответить

Автор темы
kola_z
здесь недавно
здесь недавно
Сообщения: 5
Зарегистрирован: 24 янв 2013, 13:00
Имя: Чичиков Николай

Вопрос по VBS

Сообщение kola_z »

Извеняюсь, может вопрос не в этот раздел....

Есть скрипт (скачан с какого то форума), рабочий. Он значит, мониторит определённую папку, и как только в неё попадает doc или xls он отправляет это дело на печать на принтер по умалчанию и удаляет документ. Если попадают файлы с другим расширением, он не делает ничего...

Так вот, надо добавит, что бы распечатывались также и jpg. Помогите неучу :ges_help:
[+] тут
Option Explicit

Dim strTargetFolder
Dim strComputer

Dim objSWbemServicesEx
Dim objSWbemEventSource
Dim objSWbemObjectEx_Event
Dim objSWbemObjectEx_CIM_DataFile


strTargetFolder = "c:\TecT"
strComputer = "."

Set objSWbemServicesEx = GetObject("WinMgmts:\\" & strComputer & "\Root\CIMV2")

Set objSWbemEventSource = objSWbemServicesEx.ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE " & _
"TargetInstance ISA 'CIM_DirectoryContainsFile' AND " & _
"TargetInstance.GroupComponent = 'Win32_Directory.Name=""" & Replace(strTargetFolder, "\", "\\\\") & """'")


WScript.Echo "Monitor files creation and Print documents in [" & strTargetFolder & "]..."

Do
Set objSWbemObjectEx_Event = objSWbemEventSource.NextEvent
Set objSWbemObjectEx_CIM_DataFile = objSWbemServicesEx.Get(objSWbemObjectEx_Event.TargetInstance.PartComponent)

WScript.Echo Now() & " | | New file: [" & objSWbemObjectEx_CIM_DataFile.Name & "]"

Select Case UCase(objSWbemObjectEx_CIM_DataFile.Extension)
Case "DOC"
PrintByWord objSWbemObjectEx_CIM_DataFile.Name
Case "XLS"
PrintByExcel objSWbemObjectEx_CIM_DataFile.Name
Case Else
' Nothing to do
End Select


WScript.Echo Now() & " | | Delete file: [" & objSWbemObjectEx_CIM_DataFile.Name & "]"
objSWbemObjectEx_CIM_DataFile.Delete
Loop

WScript.Quit 0
'=============================================================================

'=============================================================================
Sub PrintByWord(strFileName)
Const wdDoNotSaveChanges = 0

Dim objWord
Dim objDoc

Set objWord = WScript.CreateObject("Word.Application")

WScript.Echo Now() & " | | Print file: [" & strFileName & "]"

With objWord
Set objDoc = .Documents.Open(strFileName, False, True, False)

objDoc.PrintOut True

Do
WScript.Sleep 500
Loop Until .BackgroundPrintingStatus = 0

Set objDoc = Nothing

.Quit wdDoNotSaveChanges
End With

Set objWord = Nothing
End Sub
'=============================================================================

'=============================================================================
Sub PrintByExcel(strFileName)
Dim objExcel
Dim objWorkbook

Set objExcel = WScript.CreateObject("Excel.Application")

WScript.Echo Now() & " | | Print file: [" & strFileName & "]"

With objExcel
Set objWorkbook = .Workbooks.Open(strFileName, 0, True)

objWorkbook.PrintOut
objWorkbook.Saved = True

Set objWorkbook = Nothing

.Quit
End With

Set objExcel = Nothing
End Sub
'=============================================================================
Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 143 раза

Re: Вопрос по VBS

Сообщение hell_boy »

У этого скрипта есть продолжение. Или полная версия, как кому нравится http://sysadmins.ru/post9728779.html
Во избежание следующих вопросов: "Почему все-равно не печатает?" http://forum.oszone.net/post-1962508.html
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

Автор темы
kola_z
здесь недавно
здесь недавно
Сообщения: 5
Зарегистрирован: 24 янв 2013, 13:00
Имя: Чичиков Николай

Re: Вопрос по VBS

Сообщение kola_z »

спасибо
Ответить

Вернуться в «Верхний уровень автоматизации (отображение)»