Страницы: 1 2 3 4 5 След.
RSS
печать pdf-файлов через функции в excel возможна?
 
добрый день!  
я - абсолютный чайник в вопросах макросов в excel. да и саму программку знаю на уровне простенькие формулы/графики-диаграммки/ сводные таблички...  
так что прошу прощения заранее, если шокирую кого-либо тупыми вопросами)))  
 
но всё-таки:  
реально ли создать формулу/макрос в экселе, при которой (при условии создания соответствующей базы данных) на печать выводилось бы тех.описание в формате pdf из указанного файла согласно имеющимся артикулам?  
на всякий случай поясню: есть большая таблица (упаковочный лист - порядка 500-800 срок, исключая пустые) с повторяющимися артикулами. на каждое из наименований (а на одно наименование может быть несколько артикулов) нужно распечатать техническое описание из каталога (есть в pdf). озадачилась вопросом автоматизации данного процесса...  
 
если такое чудо возможно, напишите, пожалуйста как это сделать, только как для полной блондинки))))
____________________      
 
Такое чудо возможно.  
(и не такие чудеса возможны, если постараться)  
 
Только, может, это лучше вы нам всё распишите как для блондинок (на примере своего файла Excel), где искать этот файл ПДФ (где расположена папка с ПДФ файлами), как его искать (по названию файла, ещё как-то), и т.д. и т.п.  
 
А то вам всё готовенькое подавай, с комментариями на все возможные случаи жизни, да ещё, наверное, и с примерами...
 
Я когда-то копал в эту сторону.  
Распечатать PDF файл ЦЕЛИКОМ довольно просто, для этого достаточно иметь Adobe Reader. Погуглите по AcroExch.AVDoc print.  
 
Но у меня была задача печатать отдельные страницы из PDF файла, а API Reader'a этого не позволяет. Для этого нужен либо полный Акробат, либо сторонний софт с API, но по условиям задачи на машине установлен только Reader неизвестно какой версии. Так что не получилось.
 
ой, я такая радая!!))))  
 
в приложении : пример моей таблицы, пара пдфов (ну так, чтобы оценить скока артикулов может быть на одной странице), папка расположена на офисном серваке, но для удобства могу копирнуть на свой пк. искать файл по названию я думаю надо...    
 
я подозреваю, какую мне предстоит базу с артикулами создавать для этого... потом создавать массивы, а потом уже придумывать как выводить на печать страницу, на которой есть хоть один артикул из массива...  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
____________________      
 
max file size = 100 Kb
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=Казанский}{date=15.08.2011 04:00}{thema=}{post}Я когда-то копал в эту сторону.  
Распечатать PDF файл ЦЕЛИКОМ довольно просто, для этого достаточно иметь Adobe Reader. Погуглите по AcroExch.AVDoc print.  
 
{/post}{/quote}  
 
ой, мама дорогая!... погуглила... моск взорвался))) кстати, насколько я поняла по первой высветившейся страничке - там как раз Ваш вариант - печать отдельных страничек из файла... тока из тех закорючек (видимо код макроса)))) я не поняла ни фи ка!
____________________      
 
{quote}{login=nerv}{date=15.08.2011 04:14}{thema=}{post}max file size = 100 Kb{/post}{/quote}  
 
oops... а в xlsx формате не принимаете?  
у мя не получается жжать до такой степени.. я уже поудаляла все, что можно и нельзя...
 
при попытке отправить сообщение с прикрепленным файлом вылетаю с форума... чо за фигня?
____________________      
 
сжала как могла.  
жду комментариев.
____________________      
 
>>реально ли создать формулу/макрос в экселе, при которой (при условии создания соответствующей базы данных) на печать выводилось бы тех.описание в формате pdf  
 
Если правильно вас понял, Вам надо печатать в PDF. Могу посоветовать следующее:  
 
-скачайте виртуальный принтер doPDF v7  
-установите его, как принтер по умолчанию.  
-и печатайте сколько угодно)  
 
А "операции с артикулами" может совершать макрос
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Я по первому примеру понял, что уже есть готовые pdfки, которые нужно распечатать. Но не все, а некоторые. Но по какому событию печатать - не понял...  
Т.е. как-то связано с таблицей, но как? Выделенные печатать, или все, что нашлись в таблице...?  
Но там есть проблема - названия файлов не вполне совпадали с значениями ячеек - в ячейках есть лишние значения в конце, а в файлах лишнее в начале. Т.е. не всё просто, плюс всё не понятно :(
 
nerv, Вы необычайно сообразительны))))  
 
я повторюсь - я АБСОЛЮТНЫЙ ЛОХ в вопросах макросов в экселе!)) просто махровый!!  
"операции с артикулами" макрос совершать, конечно, может, только для этого его наверное нужно создать? а беда в том, что я ПОНЯТИЯ НЕ ИМЕЮ как это делается))  
 
скачать виртуальный принтер не проблема, он по-моему, даже есть уже... как мне сделать так, чтоб печаталось у меня именно то что нужно, в нужном количестве, исходя из имеющихся артикулов, да еще и чтобы сей "механизм" одной кнопкой запускался...
____________________      
 
>>nerv, Вы необычайно сообразительны))))  
 
Кажется, нет ^_^  
 
У вас уже есть готовые PDF файлы? Или их требуется создать?  
 
 
=16000=
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Если нужно печатать в pdf - не так всё просто, там красивый бланк был. Откуда всё остальное брать? Т.е. нужно сформировать сперва бланк.  
Можно может быть сделать так - на отдельном листе иметь заготовку бланка, куда подставить нужные строки с данными, и тогда уже этот лист распечатать в pdf.  
 
Ну а если нужно распечатать макросм готовый файл - нашёл такую цитату, может кому пригодится:  
============================================================­===  
около сотни файлов pdf которые надо распечатать.  
=  
Попробуй из командной строки, из папки с PDF файлами:  
 
for %i in (*.pdf) do "C:\Program Files\Adobe\Reader\acrord32.exe" /n/t %i  
 
Проверь путь к ридеру.  
Правда, запускается множество ридеров, что может привести к затыку при большом кол-ве файлов.  
Чтобы этого не было, надо запускать файлы по очереди:  
 
for %i in (*.pdf) do start /wait C:\"Program Files"\Adobe\Reader\acrord32.exe /n/t "%i"  
 
Есть одна тонкость: ПЕРЕД запуском этой команды открой Adobe Reader. Иначе придется каждое новое окно ридера закрывать вручную.  
============================================================­===
 
{quote}{login=Hugo}{date=16.08.2011 11:28}{thema=}{post}Я по первому примеру понял, что уже есть готовые pdfки, которые нужно распечатать. Но не все, а некоторые. Но по какому событию печатать - не понял...  
Т.е. как-то связано с таблицей, но как? Выделенные печатать, или все, что нашлись в таблице...?  
Но там есть проблема - названия файлов не вполне совпадали с значениями ячеек - в ячейках есть лишние значения в конце, а в файлах лишнее в начале. Т.е. не всё просто, плюс всё не понятно :({/post}{/quote}  
 
Hugo, я попытаюсь пояснить. PDFки есть все. та таблица, которую я выложила, напрямую с ними никак не связана. для того, чтобы связать, надо создать отдельную таблицу со всеми артикулами каталога - порядка 17 тысяч)))). это моя проблема. после создания этой таблицы нужно будет сделать массив с условием, что  распечатываться должна указанная страница - то есть делать ссылку на каждый из pdfок, если хоть один из артикулов из этой страницы есть в исходном файле (в том что я прислала). а как сделать ссылку на страницу и послать ее напечать я как раз не понимаю... не знаю насколько понятно я объяснила...    
мне сейчас в голову мысль пришла: Вы говорите, что проблема в том, что в названиях pdf-ок и данных в  таблице есть разница. то есть если я переименую pdf-ки, чтобы названия совпадали, можно будет привязать макрос к названиям? останется только исключить повторяющиеся названия?
____________________      
 
Будете переименовывать 17000 файлов?  
Конечно можно сделать кодом, например тупо отрезать последнее слово названия... Но будет ли это всегда одно слово лишнее?  
Вообще нужно всё взвесить/продумать - откуда взялись такие названия, может их нельзя так просто переименовывать?  
Ну а по вопросу - если можно конкретно из значения ячейки определить название файла, тогда можно его и распечатать.  
Но там трудно однозначно сказать было, как брать название из ячейки - где-то одно слово нужно откинуть, где-то вероятно 2, а где-то похоже ничего откидывать не нужно...  
Например, эти значения - какие файлы им соответствуют?  
 
SILVYN CHAIN A30092KM1  
OLFLEX SERVO 2YSLCY-JB 4G6  
NYY-J 3G1,5 re  
UNITRONIC Li2YCY (TP) 10x2x0,22  
 
 
Дайте примеры названий существующих файлов, штук 10.
 
может пригодится: CH16 - Accessing PDF. Справочник  
 
http://narod.ru/disk/21918362001/CH16%20-%20Accessing%20PDF.zip.html  
 
Выдержка оттуда  
 
' ** Initialize Acrobat by creating App object    
Set AcroApp = CreateObject( "AcroExch.App" )    
' ** show Acrobat    
AcroApp.Show()    
' ** Set AVDoc object    
Set AcroAVDoc = CreateObject( "AcroExch.AVDoc" )    
' ** open the PDF
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
или вот, например:  
 
Option Explicit    
   
Dim AcroApp, AcroAVDoc    
Dim gPDFPath    
   
gPDFPath = "C:\QTTutorial.pdf"    
' ** Initialize Acrobat by creating App object    
Set AcroApp = CreateObject( "AcroExch.App" )    
' ** show Acrobat    
AcroApp.Show()    
' ** Set AVDoc object    
Set AcroAVDoc = CreateObject( "AcroExch.AVDoc" )    
' ** open the PDF    
If AcroAVDoc.Open( gPDFPath, "NewTitle" ) Then    
   If AcroAVDoc.IsValid = False Then ExitTest()    
   AcroAVDoc.BringToFront()    
End If    
AcroApp.CloseAllDocs()    
AcroApp.Exit()    
Set AcroApp = Nothing : Set AcroAVDoc = Nothing
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
print
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=Hugo}{date=16.08.2011 12:01}{thema=}{post}Будете переименовывать 17000 файлов?  
Ну а по вопросу - если можно конкретно из значения ячейки определить название файла, тогда можно его и распечатать.  
Но там трудно однозначно сказать было, как брать название из ячейки - где-то одно слово нужно откинуть, где-то вероятно 2, а где-то похоже ничего откидывать не нужно...  
Например, эти значения - какие файлы им соответствуют?  
 
SILVYN CHAIN A30092KM1  
OLFLEX SERVO 2YSLCY-JB 4G6  
NYY-J 3G1,5 re  
UNITRONIC Li2YCY (TP) 10x2x0,22  
 
 
Дайте примеры названий существующих файлов, штук 10.{/post}{/quote}  
 
нет, файлов около 1000 штук, да и то не все из них нужны. это артикулов около 17000.  
по файлам:  
SILVYN CHAIN A30092KM1 - на все позиции, в которых есть название "SILVYN CHAIN" есть общий доковский файл с техописанием "SILVYN CHAIN  2.doc"  
остальные pdf-ки:  
OLFLEX SERVO 2YSLCY-JB 4G6 - файл "pg_0089_ru_HK2010_ru_OELFLEX_SERVO_2YSLCY-JB.pdf"  
NYY-J 3G1,5 re - файл "pg_0215_HK2010_ru_NYY-J_NYY-O.pdf"  
UNITRONIC Li2YCY (TP) 10x2x0,22 - файл "pg_0276_HK2010_ru_UNITRONIC_Li2YCY_TP_.pdf",    
где "pg_" - это номер страницы каталога, "HK2010" - это "новый каталог 2010" а дальше название продукции.  
в таблице закорючечки, то есть цифры с "x" и "G" - это сечение, размер.  
 
все-таки, я думаю проще будет сделать сводную таблицу и переименовать pdf-ки...  
но жду экспертное мнение)))
____________________      
 
Спасибо, возможно пригодится. Найти ещё, как открытое сразу на печать послать...  
Занёс в закрома :)  
P.S. А вот и print :)
 
>переименовать pdf-ки...  
 
Судя по всему, да. Придется переименовывать.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
{quote}{login=Hugo}{date=16.08.2011 12:27}{thema=}{post}Спасибо, возможно пригодится. Найти ещё, как открытое сразу на печать послать...  
Занёс в закрома :)  
P.S. А вот и print :){/post}{/quote} не мне спасибо, а маэстро Казанскому)
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
не, ребят, ну так не честно! вы уже между собой разговариваете, а я как не вкуривала, так и не вкуриваю...)))  
 
nerv, пожалейте мой воспаленный блондинистый мозг!    
Вы думаете мне о чем -то это говорит??????:  
gPDFPath = "C:\QTTutorial.pdf"    
' ** Initialize Acrobat by creating App object    
Set AcroApp = CreateObject( "AcroExch.App" )    
' ** show Acrobat    
AcroApp.Show()    
' ** Set AVDoc object    
Set AcroAVDoc = CreateObject( "AcroExch.AVDoc" )    
' ** open the PDF    
If AcroAVDoc.Open( gPDFPath, "NewTitle" ) Then    
If AcroAVDoc.IsValid = False Then ExitTest()    
AcroAVDoc.BringToFront()    
End If    
AcroApp.CloseAllDocs()    
AcroApp.Exit()    
Set AcroApp = Nothing : Set AcroAVDoc = Nothing  
 
ну переименую я пдфки, но дальше -то что?? как связать таблицу с печатью нужных pdfok?
____________________      
 
{quote}{login=Казанский}{date=15.08.2011 04:00}{thema=}{post}Я когда-то копал в эту сторону.  
Распечатать PDF файл ЦЕЛИКОМ довольно просто, для этого достаточно иметь Adobe Reader. Погуглите по AcroExch.AVDoc print.{/post}{/quote}  
 
подскажите, пожалуйста, КАК это сделать...
____________________      
 
Да, т.к. нет единой системы - придётся делать каталог с переименованными файлами.  
Далее можно например так подойти - перебираем все названия файлов, и если в нужном значении ячейки содержится название файла - печатаем (в ячейке значение с мусором).  
Но тут тоже нужно учесть, что тогда например нельзя иметь названия  
qwe.pdf  
qwert.pdf  
qwertyu.pdf  
и т.д.  
Можно обойти так:  
001_qwertyu.pdf  
002_qwert.pdf  
003_qwe.pdf  
Теперь при переборе сперва будет анализироваться длинное название - откидываем первых 4 символа, остальное сверяем.
 
пилять... простите за мой французский...  
 
вы, наверное, никогда с блондинками не общались...  
представьте на минутку, что я не просто "блондинко", а четырехлетнее блондинко!  
 
хоть кто-нибудь в состоянии объяснить на уровне "нажми вот эту кнопочку/вот в этой вкладочке/напиши вот эту буковку" КАК на печать вывести через гиперссылку в таблице или ыщо как-нить???
____________________      
 
Что-то не работает  
Set AcroApp = CreateObject("AcroExch.App")  
Кто знает -  что, где, откуда нужно доставить, чтоб заработаало?  
Всё, что было в референсах - не помогает...  
AdobeAcrobat_sdk91_v2_win.zip скачал - не понял :(
 
Hugo, nerv, я, честное слово, очень ценю вашу помощь и советы, но НИ ХРЕНА НЕ ПОНИМАЮ, ЧТО ВЫ МНЕ СОВЕТУЕТЕ!!
____________________      
 
набор букв, погодите, сперва сами разберёмся... :)  
Я сперва хочу заставить печататься один определённый файл. А как потом устроить выбор нужного по значению ячейки - это дело техники, решаемо.
Страницы: 1 2 3 4 5 След.
Читают тему
Наверх