Показано с 1 по 4 из 4

Тема: помогите с VBS

  1. #1

    Question помогите с VBS

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

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

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

    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.Targ etInstance.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
    '================================================= ============================

  2. #2

    По умолчанию

    Вопрос не на тот форум.

  3. #3
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Почему бы не погуглить более готовые решения? Вот я сразу наткнулся: http://www.labnol.org/internet/print...-phones/17827/ Надо только выпилить оттуда то, что касается чтения конфигов Дропбокса.

  4. #4

    По умолчанию

    спасибо, ща гляну

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •