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

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

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

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

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

http://www.cyberforum.ru/vbscript-wsh/thread2184061.html
Существует скрипт, который запускается батником. В батнике указаны:

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 (VBScript/JScript):

Пакетная конвертация 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