Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Вопрос по VBS

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

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

Вопрос по VBS

Сообщение kola_z » 26 апр 2015, 12:43

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

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

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

[spoiler=тут]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
'=============================================================================[/spoiler]

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Re: Вопрос по VBS

Сообщение hell_boy » 27 апр 2015, 10:28

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


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

Re: Вопрос по VBS

Сообщение kola_z » 27 апр 2015, 18:29

спасибо


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



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей