Forum

Пожалуйста or Регистрация для создания сообщений и тем.

VBS Кнопка подтверждения

Доброго времени суток Господа и Дамы .
Есть скрипт не мною создан.
Смысл скрипта , мониторинг за папкой и печать нового xls , doc файла
Подскажите пожалуйста как убрать кнопку подтверждения при выполнений скрипта пока не нажмешь, печать не пойдет. Хотелось бы чтобы автоматом все печаталось без нажатий .
PS/ не судите строго, только постигаю эту тематику (сложнова-то)

Спойлер

Option Explicit

Dim strTargetFolder
Dim strComputer

Dim objSWbemServicesEx
Dim objSWbemEventSource
Dim objSWbemObjectEx_Event
Dim objSWbemObjectEx_CIM_DataFile


strTargetFolder = "C:\Users\oper1\Desktop\12345678901"
strComputer     = "."

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

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


WScript.Echo "МОНИТОРИНГ ПАПКИ + ПЕЧАТЬ ФАЙЛА [" & strTargetFolder & "]..."

Do
    Set objSWbemObjectEx_Event = objSWbemEventSource.NextEvent
    Set objSWbemObjectEx_CIM_DataFile = objSWbemServicesEx.Get(objSWbemObjectEx_Event.TargetInstance.PartComponent)
    
    WScript.Echo Now() & " |  | ПИСЬМО ИЛИ ФОТО ИЗ ОФИСА :    [" & 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
            ' true to do
    End Select
    
    
   
Loop

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

'=============================================================================
Sub PrintByWord(strFileName)
    Const wdDoNotSaveChanges = 0
    
    Dim objWord
    Dim objDoc
    
    Set objWord = WScript.CreateObject("Word.Application")
    
    WScript.Echo Now() & " |  | ПЕЧАТЬ ФАЙЛА :  [" & 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() & " |  | ПЕЧАТЬ ФАЙЛА:  [" & 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
'=============================================================================

Добрый🖐.
А что там за подтверждение вылазит, сообщение какое?
Можно закомментировать строки начинающие СкопированоWScript.Echo символом Скопировано'

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь
Цитата: Mikhail от 03.08.2022, 14:54

Добрый🖐.
А что там за подтверждение вылазит, сообщение какое?
Можно закомментировать строки начинающие СкопированоWScript.Echo символом Скопировано'

ну выходит диалоговое окно с кнопкй "ОК" пока не нажмешь печать не пойдет , хотелось бы реализовать  чтобы оно сразу в печать шло.

Попробуй так, найдите все такие скриншот и поставьте в самое начало апостроф Скопировано', как на скрине, вроде я больше не нашел диалоговых окон.

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь
Цитата: Mikhail от 03.08.2022, 15:05

Попробуй так, найдите все такие скриншот и поставьте в самое начало апостроф Скопировано', как на скрине, вроде я больше не нашел диалоговых окон.

Сделал, Благодарю . Сам чет не догадался , только учусь .