Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBScript/JScript/WSH/WMI/HTA
Войти
Регистрация
Восстановить пароль
 
davulcu
0 / 0 / 0
Регистрация: 12.06.2015
1

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

21.02.2014, 13:11. Просмотров 1382. Ответов 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"

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

Скрипт сохранения страниц файла pdf - как картинок jpg
Здравствуйте. Подскажите код VBScript , который бы сохранял страницы файла pdf...

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

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

Скрипт для выполнения при запуске для Win8
Народ, задача, я думаю, для постоянно с этим сталкивающимися будет нетрудна....

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

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

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

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

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


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

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

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