Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBScript/JScript/WSH/WMI/HTA

Войти
Регистрация
Восстановить пароль
 
davulcu
#1

Скрипт для преобразования в PDF - VBScript/JScript

21.02.2014, 13:11. Просмотров 1151. Ответов 0
Метки нет (Все метки)

Всем доброго времени суток!

Уважаемые знатоки, смею предположить, что решение моей задачи крайне простое, однако ввиду моего постыдного незнания VBS я здесь и пишу. Суть проблемы: необходимо открыть таблицу Excel, преобразовать в PDF и сохранить в указанном месте, с заменой существующего документа (при наличии). Сперва я пробовал идти путем поиска скрипта, который напрямую из Excel сохранит документ в PDF, но не смог найти необходимо скрипта, да и по неизвестной мне причине, сохранение необходимого документа даже вручную в формате PDF невозможно, в списке форматов банально нет расширения PDF..., вновь создаваемые документы сохранить в PDF можно. После я нашел скрипт и батник для PDFCreator, но тоже натолкнулся на ряд проблем. Описание ниже:

Существует скрипт, который запускается батником. В батнике указаны:

C:\Convert2PDF.vbs "<Путь к документу, который преобразуем в PDF>" "<Путь, куда сохраняем PDF файл>" "<Имя сохраняемого PDF файла>"

Скрипт открывает PDFCreator, в нем преобразует Excel таблицу в PDF документ и сохраняет по пути и с именем, указанным в батнике. Скрипт писал не я. Но автору большое спасибо. Если б владел языком, сам подправил скрипт, но вынужден просить помощи знатоков. Суть проблемы в том, что при открытии таблицы в ней надстройка Excel, производит проверку данных, ее отключить нельзя, получаем ситуацию, что после отработки скрипта у нас скрипт закрывает Excel, но тот висит с предложением сохранить внесенные изменения. Их сохранять не нужно.
Задача: необходимо скорректировать скрипт так, чтобы он закрывал после преобразования в PDF приложение Excel без сохранения изменений.

Заранее спасибо!

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Set PDFCreator = Wscript.CreateObject("PDFCreator.clsPDFCreator", "PDFCreator_")
With PDFCreator
 ReadyState = 0
 .cStart "/NoProcessingAtStartup"
 .cOption("UseAutosave") = 1
 .cOption("UseAutosaveDirectory") = 1
 .cOption("AutosaveFormat") = 0
 .cOption("AutosaveStartStandardProgram") = 0
 DefaultPrinter = .cDefaultprinter
 .cDefaultprinter = "PDFCreator"
 .cClearcache
 .cPrinterStop = false
 .cOption("AutosaveDirectory") = WScript.Arguments(1)
 .cOption("AutosaveFilename") = WScript.Arguments(2) 
 .cPrintfile cStr(WScript.Arguments(0))
  c = 0
  Do While (ReadyState = 0) and (c < 120)
   c = c + 1
   Wscript.Sleep 250
  Loop
 .cDefaultprinter = DefaultPrinter
 .cClearcache
 WScript.Sleep 200
 .cClose
End With
 
Public Sub PDFCreator_eReady()
 ReadyState = 1
End Sub
P.S. Если у кого есть VBS скрипт, который может и напрямую из Excel преобразовывать в PDF, то буду очень благодарен за помощь.

Добавлено через 19 часов 21 минуту
Не без помощи WebSharper с портала sql.ru, за что большое ему спасибо, нашел решение своей задачи:

Visual Basic
1
2
3
4
5
6
7
8
9
Dim xlObj, objArgs, xlWB
Set xlObj = CreateObject("Excel.Application")
Set objArgs = WScript.Arguments
file = objArgs.item(0)
fileToSave = objArgs.item(1)
set xlWB = xlObj.Workbooks.Open(file)
xlWB.ActiveSheet.ExportAsFixedFormat 0, fileToSave , 0, 1, 0,,,0
xlWB.close False
xlObj.quit
Скрипт запускается батником: C:\Имя_скрипта.vbs "C:\Документ.xlsx" "C:\Документ.pdf"

Тему можно закрывать.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2014, 13:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скрипт для преобразования в PDF (VBScript/JScript):

Пакетная конвертация PDF в DOC и печать любых документов на PDF-принтере - VBScript/JScript
В первую очередь извините, если создал тему в неположенном разделе, но к сожалению найти близкий по тематике раздел мне не удалось =(. ...

Скрипт для nnCron для отслеживания появления новой папки в заданной директории - Администрирование Windows
Доброго времени! Надеюсь пишу в нужной теме. Суть: нужно создать скрипт, отслеживающий появление новой папки в заданной директории....

Скрипт для выполнения при запуске для Win8 - VBScript/JScript
Народ, задача, я думаю, для постоянно с этим сталкивающимися будет нетрудна. Необходим скрипт для Windows 8, который при включении ноута...

Скрипт для аудита ПО - Администрирование Windows
Нужен список установленных ПО на компьютерах, у пользователей, скрипт с помощью которого я запустив его на своем компьютере был список...

Скрипт для скайпа - VBScript/JScript
Доброго времени суток. Подскажите возможно ли на VBS написать скрипт который управляет кнопками скайпа. Точнее стоит ли начинать учить...

Скрипт для thunderbird - VBScript/JScript
Нужна помощь. Решил немного отредактировать скрипт, который автоматически создает профиль thunderbird для нового пользователя. Хочу,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 13:11
Привет! Вот еще темы с ответами:

VBS Скрипт для инвентаризации компьютеров - VBScript/JScript
Добрый день, уважаемые форумчане! Есть скрип производящий инвентаризацию ПК по сети. (во вложении). Принцип такой - запускаешь...

VBS Скрипт для архивации данных - VBScript/JScript
Здравствуйте, помогите пожалуйста. Имеется данный скрипт, он работает отлично, но можно ли как-то в него добавить выборку по маскам, чтобы...

JS Не работает скрипт для запуска приложений - VBScript/JScript
Либо у меня система кривая, либо код, а может быть в10 вообще не узнает его... В общем, вот: var WSHShell =...

Скрипт для сброса всех данных - Администрирование Windows
Зашел пользователь под учетную запись пользователя .Поработал,создал файлы на рабочем столе, скачал какие то файлы. И после перезагрузки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru