vbs находит файл в каталоге и печатает с помощью всплывающего окна

#excel #pdf #printing #vbscript #ms-word

#excel #PDF #печать #vbscript #ms-word

Вопрос:

У меня есть скрипт, который печатает определенный файл, но становится все труднее создавать более 150 файлов .vbs для каждого документа, подлежащего печати, есть ли какой-либо способ открыть всплывающее окно, в котором я могу ввести имя файла, затем скрипт найдет его в папке и распечатает 20 копий. У меня есть файлы PDF, WORD и Excel

это то, что у меня есть сейчас для них

 Dim AppExcel 
Set AppExcel = CreateObject("Excel.application")
AppExcel.Workbooks.Open"directoryfilename.xlsx"
AppExcel.Visible = True
AppExcel.ActiveWindow.SelectedSheets.PrintOut,,20
Appexcel.Quit
Set appExcel = Nothing

filename = "\MCSERVER01DataFormsVehicle inspection formsdaily vehicle inspection form.pdf"

Set sh = CreateObject("WScript.Shell")
sh.Run "sumatrapdf.exe -print-to-default """ amp; filename amp; """", 0, True

Dim AppWord
Set AppWord = CreateObject("Word.application")
AppWord.Documents.Open"\MCSERVER01DataFormsDODDSMALL CAR DRIVERSAkira Litman.docx"
AppWord.Visible = True
AppWord.ActiveDocument.PrintOut
AppWord.Quit
Set appWord = Nothing
  

Ответ №1:

Возможно, вы можете использовать поле ввода

 Dim fileToPrint As String

fileToPrint = InputBox("Enter file name to print")
  

Комментарии:

1. итак, просто добавьте это в мой существующий скрипт? извините, я совсем не разбираюсь в VB

2. Кто-нибудь может помочь мне с этой проблемой, пожалуйста?

3. Возможно, вы могли бы уточнить вопрос или задать его другим, более конкретным способом.. Точно определите, в чем заключается ваша проблема и где вы застряли, и вам будет легче помочь. Прямо сейчас это похоже на то, что у меня была трещина в какой-то работе, которую я пытаюсь выполнить, может кто-нибудь закончить это за меня..

4. хорошо, позвольте мне попытаться уточнить вопрос, так что, как вы видите, у меня есть 3 разных сценария, один для Word, один для Excel, один для pdf, которые печатают определенный файл из определенного местоположения, мне нужно иметь один файл сценария, который откроет всплывающее окно с надписью «пожалуйста, имя файла», и когда я набираю имя файла, например «отчет», он автоматически находит имя файла «report.xlsx » и распечатайте его, не открывая Excel word или pdf. то же самое, что и скрипты, которые у меня есть сейчас, они запускают все в фоновом режиме, которые вы даже не видите.

5. я застрял в поиске способа получить всплывающее окно, которое будет искать файл и выбирать его для печати из определенной папки

Ответ №2:

Я получил некоторую помощь от моего старого друга, но теперь я не могу заставить работать другую часть
set fso = CreateObject(«Scripting.FileSystemObject») вызывает main

sub main inputName = InputBox («ВВЕДИТЕ СВОЕ ИМЯ»), если instr(inputName, «.») = 0, то msgbox («ЭТО ВООБЩЕ НЕ НУЖНО !!!!!») завершите работу с вложенным файлом, если ‘msgbox(mid(inputName, instr(inputName, «.») 1)) выберите регистр mid(inputName, instr(inputName, «.») 1) регистр «xlsx» вызовите printExcel(inputName) end выберите end sub

подпринтекст (имя файла) Затемняет appExcel, задает путь appExcel = CreateObject(«Excel.application») path = «MCSERVER01DataFormsAccess2Care ВОДИТЕЛИ ИНВАЛИДНЫХ КОЛЯСОК», если fso.FileExists (путь и имя файла) затем appExcel.Рабочие книги.Откройте путь и имя файла appExcel.Visible = false appExcel.ActiveWindow.Выбранные таблицы.Распечатка,,20 Appexcel.Завершите набор appExcel = Больше ничего

X= MsgBox («Неправильное имя файла или файл не существует», 0 16, «Пожалуйста, повторно введите свое полное имя»)

 end if
  

конец раздела

итак, проблема, с которой я столкнулся сейчас, заключается в том, что мне нужно ввести расширение файла, чтобы заставить его работать, иначе я получаю сообщение с надписью «мне это не нужно», как я могу избавиться от этого сообщения и просто иметь расширение по умолчанию как xlsx xsl