Есть табличка в экселе где проводятся вычисления. Есть необходимость макросом вывести на печать картинки, после вычислений. Не могу понять как вывести на печать картинку напрямую, без вставки в эксель...
Картинки лежат статично "D\Картинки". Название картинки "вычисляется" в экселе в ячейке А1. в ячейке B1 количество копий. Печать будет в цикле и последовательно идти по строкам от первой.
Есть табличка в экселе где проводятся вычисления. Есть необходимость макросом вывести на печать картинки, после вычислений. Не могу понять как вывести на печать картинку напрямую, без вставки в эксель...
Картинки лежат статично "D\Картинки". Название картинки "вычисляется" в экселе в ячейке А1. в ячейке B1 количество копий. Печать будет в цикле и последовательно идти по строкам от первой.diimen
Смотрю, никто не отвечает... Могу подкинуть рыбку: [vba]
Код
Sub PrintImage() Dim ImageFullName As String ImageFullName = Application.GetOpenFilename() Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & Chr(34) & ImageFullName & Chr(34) End Sub
[/vba] Выведет указанную картинку на принтер по умолчанию. Если надо все картинки - поищите организацию цикла по файлам папки. Если нужен конкретный принтер: [vba]
[/vba] Вот с количеством копий затрудняюсь пока ответить - попробуйте поискать.
Смотрю, никто не отвечает... Могу подкинуть рыбку: [vba]
Код
Sub PrintImage() Dim ImageFullName As String ImageFullName = Application.GetOpenFilename() Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & Chr(34) & ImageFullName & Chr(34) End Sub
[/vba] Выведет указанную картинку на принтер по умолчанию. Если надо все картинки - поищите организацию цикла по файлам папки. Если нужен конкретный принтер: [vba]
ImageFullName - я так понимаю туда попадет имя текущего открытого файла. Мне надо прописать адрес закрытого файла, открыть его и распечатать. Данный код пойдет на печать или надо отдельно открыть?..
ImageFullName - я так понимаю туда попадет имя текущего открытого файла. Мне надо прописать адрес закрытого файла, открыть его и распечатать. Данный код пойдет на печать или надо отдельно открыть?..diimen
Сообщение отредактировал diimen - Среда, 10.09.2014, 21:54
Я находясь в среде ЭКСЕЛЯ должен открыть и распечатать картинку. Эксель может напрямую открыть *.jpg?.. У меня не получилось...
Выбор файла надо прописывать автоматически - будет цикл во время выполнения которого надо распечатать 5...10 РАЗНЫХ картинок в разном количестве копий. Имена картинок и количество копий будут прописаны в поле таблицы.
Алгоритм: - взять инфо из экскля - открыть картинку - напечатать n копий - закрыть картинку - взять следующую инфу из экселя
Проверил код - не то...
Я находясь в среде ЭКСЕЛЯ должен открыть и распечатать картинку. Эксель может напрямую открыть *.jpg?.. У меня не получилось...
Выбор файла надо прописывать автоматически - будет цикл во время выполнения которого надо распечатать 5...10 РАЗНЫХ картинок в разном количестве копий. Имена картинок и количество копий будут прописаны в поле таблицы.
Алгоритм: - взять инфо из экскля - открыть картинку - напечатать n копий - закрыть картинку - взять следующую инфу из экселяdiimen
А я код для Photoshop привел разьве? Вы может мат.часть для начала подучите, а потом будете планы на автоматизацию строить? Чем приведенный выше код - НЕ ТО? Про ОТКРЫТЬ - слышу впервые. Кажется, задача изначально звучала как-то так?
Есть необходимость макросом вывести на печать картинки
Вы скажите мне - Вы код вообще пробовали запустить? Что не работает? Что не запускается? Принтер Вы свой указали? Или надеетесь, что у Вас он в точности как мой называется? Приведенный мной код работает как надо - он выводит на печать картинку, используя стандартный просмотрщик фотографий Windows. Пока Вы не научитесь аргументировать почему "не то" - никто Вам ничем не поможет, ибо "не то" само по себе - не есть аргумент....
А я код для Photoshop привел разьве? Вы может мат.часть для начала подучите, а потом будете планы на автоматизацию строить? Чем приведенный выше код - НЕ ТО? Про ОТКРЫТЬ - слышу впервые. Кажется, задача изначально звучала как-то так?
Есть необходимость макросом вывести на печать картинки
Вы скажите мне - Вы код вообще пробовали запустить? Что не работает? Что не запускается? Принтер Вы свой указали? Или надеетесь, что у Вас он в точности как мой называется? Приведенный мной код работает как надо - он выводит на печать картинку, используя стандартный просмотрщик фотографий Windows. Пока Вы не научитесь аргументировать почему "не то" - никто Вам ничем не поможет, ибо "не то" само по себе - не есть аргумент....The_Prist
Errare humanum est, stultum est in errore perseverare
Я находясь в среде ЭКСЕЛЯ должен открыть и распечатать картинку.
Вопрос был сформулирован изначально - из ЭСЕЛЯ печатать КАРТИНКУ. Напечатать в экселе эксель я могу. Вставить в эксель картинку могу. У меня не получается запустить из среды экселя стороннее приложение.
Код я запускал. В эксле. Окно открытия файла есть. Выбираем. Картинка не печатается. Прописал принтер вручную, тоже не печатается. Вин7 офис10
Я находясь в среде ЭКСЕЛЯ должен открыть и распечатать картинку.
Вопрос был сформулирован изначально - из ЭСЕЛЯ печатать КАРТИНКУ. Напечатать в экселе эксель я могу. Вставить в эксель картинку могу. У меня не получается запустить из среды экселя стороннее приложение.
Код я запускал. В эксле. Окно открытия файла есть. Выбираем. Картинка не печатается. Прописал принтер вручную, тоже не печатается. Вин7 офис10diimen
Сообщение отредактировал diimen - Четверг, 11.09.2014, 10:29
У меня тоже печать не пошла. И никакой ошибки не выдало. Сработал вариант печати через форму: [vba]
Код
Sub PrintImage() Dim ImageFullName As String Dim i, k For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row ImageFullName = "C:\" & Cells(i, 1) & ".jpg" For k = i To Cells(i, 2) КартинкаНаФорме ImageFullName Next k Next i End Sub
Sub КартинкаНаФорме(Путь) UserForm1.Picture = LoadPicture(Путь) UserForm1.PictureSizeMode = fmPictureSizeModeStretch UserForm1.PrintForm End Sub
[/vba]
У меня тоже печать не пошла. И никакой ошибки не выдало. Сработал вариант печати через форму: [vba]
Код
Sub PrintImage() Dim ImageFullName As String Dim i, k For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row ImageFullName = "C:\" & Cells(i, 1) & ".jpg" For k = i To Cells(i, 2) КартинкаНаФорме ImageFullName Next k Next i End Sub
Sub КартинкаНаФорме(Путь) UserForm1.Picture = LoadPicture(Путь) UserForm1.PictureSizeMode = fmPictureSizeModeStretch UserForm1.PrintForm End Sub
Ответ и был дан исходя их этого. И код мой запускает стороннее приложение именно из Excel. Вы просто не разбираясь и не спрашивая делаете свои какие-то выводы(про открытые и текущие файлы и т.п.). Если кодом картинка открывается, но не печатается - значит неверно указан принтер. Проверьте в категории "Устройства и принтеры", если ли указанный Вами принтер. Там можно точно узнать имя принтера и перенести в код, не забывая про кавычки.
Ответ и был дан исходя их этого. И код мой запускает стороннее приложение именно из Excel. Вы просто не разбираясь и не спрашивая делаете свои какие-то выводы(про открытые и текущие файлы и т.п.). Если кодом картинка открывается, но не печатается - значит неверно указан принтер. Проверьте в категории "Устройства и принтеры", если ли указанный Вами принтер. Там можно точно узнать имя принтера и перенести в код, не забывая про кавычки.The_Prist
Errare humanum est, stultum est in errore perseverare
Токо мне форма врядли нужна в моем проекте. Там имя файла на печать будет формулой создаваться.3
ЗЫ: я чую что чего-то я не понимаю, притом чего-то простого ((((( Неужто нет простой последовательности команд распечатать файл имя которого находится в ячейке А1?..
хм... что есть форма?..
Что-то там создал... Глюк исчез, итога нет.
Токо мне форма врядли нужна в моем проекте. Там имя файла на печать будет формулой создаваться.3
ЗЫ: я чую что чего-то я не понимаю, притом чего-то простого ((((( Неужто нет простой последовательности команд распечатать файл имя которого находится в ячейке А1?..diimen
Сообщение отредактировал diimen - Четверг, 11.09.2014, 11:42
А Вы сами как на печать картинки отправляете? Вручную? Какая простая последовательность Ваших действий? Наверное, сначала открываете программу, из которой печатать, так? Так. Потом выбираете принтер и кол-во копий и другие параметры. От Excel же хотите, чтобы он какой-то простой строкой(типа "Печатай") делал все это без Вас. Так не бывает. Самое просто я уже предложил - осталось лишь правильно применить.
А Вы сами как на печать картинки отправляете? Вручную? Какая простая последовательность Ваших действий? Наверное, сначала открываете программу, из которой печатать, так? Так. Потом выбираете принтер и кол-во копий и другие параметры. От Excel же хотите, чтобы он какой-то простой строкой(типа "Печатай") делал все это без Вас. Так не бывает. Самое просто я уже предложил - осталось лишь правильно применить.The_Prist
Errare humanum est, stultum est in errore perseverare
в предложенном варианте есть процедура выбора файла вручную - это можно делать и без макроса. Интересует именно автоматическая подача на печать. Есть много картинок (более 50), печатать надо 3-10 за раз в разном количестве. потребность вычисляется простыми методами (ЕСЛИ, ВПР, сводная таблица). Поскольку процедура ежедневная - хочется автоматизировать. Не вставлять же все картинки в эксель ((((
в предложенном варианте есть процедура выбора файла вручную - это можно делать и без макроса. Интересует именно автоматическая подача на печать. Есть много картинок (более 50), печатать надо 3-10 за раз в разном количестве. потребность вычисляется простыми методами (ЕСЛИ, ВПР, сводная таблица). Поскольку процедура ежедневная - хочется автоматизировать. Не вставлять же все картинки в эксель ((((diimen