#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