Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Печать картинок из экселя - Мир MS Excel

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_, DrMini  
Печать картинок из экселя
diimen Дата: Среда, 10.09.2014, 15:02 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Есть табличка в экселе где проводятся вычисления. Есть необходимость макросом вывести на печать картинки, после вычислений. Не могу понять как вывести на печать картинку напрямую, без вставки в эксель...

Картинки лежат статично "D\Картинки". Название картинки "вычисляется" в экселе в ячейке А1. в ячейке B1 количество копий. Печать будет в цикле и последовательно идти по строкам от первой.
 
Ответить
СообщениеЕсть табличка в экселе где проводятся вычисления. Есть необходимость макросом вывести на печать картинки, после вычислений. Не могу понять как вывести на печать картинку напрямую, без вставки в эксель...

Картинки лежат статично "D\Картинки". Название картинки "вычисляется" в экселе в ячейке А1. в ячейке B1 количество копий. Печать будет в цикле и последовательно идти по строкам от первой.

Автор - diimen
Дата добавления - 10.09.2014 в 15:02
The_Prist Дата: Среда, 10.09.2014, 20:21 | Сообщение № 2
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация: 22 ±
Замечаний: 0% ±

2010
Смотрю, никто не отвечает...
Могу подкинуть рыбку:
[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]
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & Chr(34) & ImageFullName & Chr(34) & " " & Chr(34) & Принтер & Chr(34)
[/vba]
Вот с количеством копий затрудняюсь пока ответить - попробуйте поискать.


Errare humanum est, stultum est in errore perseverare
 
Ответить
СообщениеСмотрю, никто не отвечает...
Могу подкинуть рыбку:
[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]
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & Chr(34) & ImageFullName & Chr(34) & " " & Chr(34) & Принтер & Chr(34)
[/vba]
Вот с количеством копий затрудняюсь пока ответить - попробуйте поискать.

Автор - The_Prist
Дата добавления - 10.09.2014 в 20:21
diimen Дата: Среда, 10.09.2014, 21:54 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ImageFullName - я так понимаю туда попадет имя текущего открытого файла. Мне надо прописать адрес закрытого файла, открыть его и распечатать.
Данный код пойдет на печать или надо отдельно открыть?..


Сообщение отредактировал diimen - Среда, 10.09.2014, 21:54
 
Ответить
СообщениеImageFullName - я так понимаю туда попадет имя текущего открытого файла. Мне надо прописать адрес закрытого файла, открыть его и распечатать.
Данный код пойдет на печать или надо отдельно открыть?..

Автор - diimen
Дата добавления - 10.09.2014 в 21:54
RAN Дата: Среда, 10.09.2014, 22:04 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Интересно, к рыбке нужна еще только сковорода, или еще и жаровня с поваром? :)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИнтересно, к рыбке нужна еще только сковорода, или еще и жаровня с поваром? :)

Автор - RAN
Дата добавления - 10.09.2014 в 22:04
The_Prist Дата: Среда, 10.09.2014, 22:25 | Сообщение № 5
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация: 22 ±
Замечаний: 0% ±

2010
Вы даже код не запустили - откуда Вы поймете, что куда попадает...
Попробуйте добавить принтер и поиграться с кавычками У меня работает так:
[vba]
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & ImageFullName & " " & """Отправить в OneNote 2010"""
[/vba]
А попадает туда не имя текущего открытого файла, а того, который укажете. Я же не просто так воткнул диалог выбора файлов.
Данный код пойдет на печать или надо отдельно открыть?
Пробовать все за Вас я должен?


Errare humanum est, stultum est in errore perseverare

Сообщение отредактировал The_Prist - Среда, 10.09.2014, 22:26
 
Ответить
СообщениеВы даже код не запустили - откуда Вы поймете, что куда попадает...
Попробуйте добавить принтер и поиграться с кавычками У меня работает так:
[vba]
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & ImageFullName & " " & """Отправить в OneNote 2010"""
[/vba]
А попадает туда не имя текущего открытого файла, а того, который укажете. Я же не просто так воткнул диалог выбора файлов.
Данный код пойдет на печать или надо отдельно открыть?
Пробовать все за Вас я должен?

Автор - The_Prist
Дата добавления - 10.09.2014 в 22:25
diimen Дата: Среда, 10.09.2014, 23:51 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Проверил код - не то...

Я находясь в среде ЭКСЕЛЯ должен открыть и распечатать картинку. Эксель может напрямую открыть *.jpg?.. У меня не получилось...

Выбор файла надо прописывать автоматически - будет цикл во время выполнения которого надо распечатать 5...10 РАЗНЫХ картинок в разном количестве копий. Имена картинок и количество копий будут прописаны в поле таблицы.

Алгоритм:
- взять инфо из экскля
- открыть картинку
- напечатать n копий
- закрыть картинку
- взять следующую инфу из экселя
 
Ответить
СообщениеПроверил код - не то...

Я находясь в среде ЭКСЕЛЯ должен открыть и распечатать картинку. Эксель может напрямую открыть *.jpg?.. У меня не получилось...

Выбор файла надо прописывать автоматически - будет цикл во время выполнения которого надо распечатать 5...10 РАЗНЫХ картинок в разном количестве копий. Имена картинок и количество копий будут прописаны в поле таблицы.

Алгоритм:
- взять инфо из экскля
- открыть картинку
- напечатать n копий
- закрыть картинку
- взять следующую инфу из экселя

Автор - diimen
Дата добавления - 10.09.2014 в 23:51
The_Prist Дата: Четверг, 11.09.2014, 09:58 | Сообщение № 7
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация: 22 ±
Замечаний: 0% ±

2010
А я код для Photoshop привел разьве? Вы может мат.часть для начала подучите, а потом будете планы на автоматизацию строить?
Чем приведенный выше код - НЕ ТО?
Про ОТКРЫТЬ - слышу впервые. Кажется, задача изначально звучала как-то так?
Есть необходимость макросом вывести на печать картинки


Вы скажите мне - Вы код вообще пробовали запустить? Что не работает? Что не запускается? Принтер Вы свой указали? Или надеетесь, что у Вас он в точности как мой называется?
Приведенный мной код работает как надо - он выводит на печать картинку, используя стандартный просмотрщик фотографий Windows. Пока Вы не научитесь аргументировать почему "не то" - никто Вам ничем не поможет, ибо "не то" само по себе - не есть аргумент....


Errare humanum est, stultum est in errore perseverare
 
Ответить
СообщениеА я код для Photoshop привел разьве? Вы может мат.часть для начала подучите, а потом будете планы на автоматизацию строить?
Чем приведенный выше код - НЕ ТО?
Про ОТКРЫТЬ - слышу впервые. Кажется, задача изначально звучала как-то так?
Есть необходимость макросом вывести на печать картинки


Вы скажите мне - Вы код вообще пробовали запустить? Что не работает? Что не запускается? Принтер Вы свой указали? Или надеетесь, что у Вас он в точности как мой называется?
Приведенный мной код работает как надо - он выводит на печать картинку, используя стандартный просмотрщик фотографий Windows. Пока Вы не научитесь аргументировать почему "не то" - никто Вам ничем не поможет, ибо "не то" само по себе - не есть аргумент....

Автор - The_Prist
Дата добавления - 11.09.2014 в 09:58
diimen Дата: Четверг, 11.09.2014, 10:14 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Есть табличка в экселе где проводятся вычисления. Есть необходимость макросом вывести на печать картинки, после вычислений.


Я находясь в среде ЭКСЕЛЯ должен открыть и распечатать картинку.


Вопрос был сформулирован изначально - из ЭСЕЛЯ печатать КАРТИНКУ. Напечатать в экселе эксель я могу. Вставить в эксель картинку могу. У меня не получается запустить из среды экселя стороннее приложение.

Код я запускал. В эксле. Окно открытия файла есть. Выбираем. Картинка не печатается. Прописал принтер вручную, тоже не печатается. Вин7 офис10


Сообщение отредактировал diimen - Четверг, 11.09.2014, 10:29
 
Ответить
Сообщение
Есть табличка в экселе где проводятся вычисления. Есть необходимость макросом вывести на печать картинки, после вычислений.


Я находясь в среде ЭКСЕЛЯ должен открыть и распечатать картинку.


Вопрос был сформулирован изначально - из ЭСЕЛЯ печатать КАРТИНКУ. Напечатать в экселе эксель я могу. Вставить в эксель картинку могу. У меня не получается запустить из среды экселя стороннее приложение.

Код я запускал. В эксле. Окно открытия файла есть. Выбираем. Картинка не печатается. Прописал принтер вручную, тоже не печатается. Вин7 офис10

Автор - diimen
Дата добавления - 11.09.2014 в 10:14
alex77755 Дата: Четверг, 11.09.2014, 10:24 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

У меня тоже печать не пошла. И никакой ошибки не выдало.
Сработал вариант печати через форму:
[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]


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеУ меня тоже печать не пошла. И никакой ошибки не выдало.
Сработал вариант печати через форму:
[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]

Автор - alex77755
Дата добавления - 11.09.2014 в 10:24
The_Prist Дата: Четверг, 11.09.2014, 10:46 | Сообщение № 10
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация: 22 ±
Замечаний: 0% ±

2010
Вопрос был сформулирован изначально

Ответ и был дан исходя их этого. И код мой запускает стороннее приложение именно из Excel. Вы просто не разбираясь и не спрашивая делаете свои какие-то выводы(про открытые и текущие файлы и т.п.).
Если кодом картинка открывается, но не печатается - значит неверно указан принтер. Проверьте в категории "Устройства и принтеры", если ли указанный Вами принтер. Там можно точно узнать имя принтера и перенести в код, не забывая про кавычки.


Errare humanum est, stultum est in errore perseverare
 
Ответить
Сообщение
Вопрос был сформулирован изначально

Ответ и был дан исходя их этого. И код мой запускает стороннее приложение именно из Excel. Вы просто не разбираясь и не спрашивая делаете свои какие-то выводы(про открытые и текущие файлы и т.п.).
Если кодом картинка открывается, но не печатается - значит неверно указан принтер. Проверьте в категории "Устройства и принтеры", если ли указанный Вами принтер. Там можно точно узнать имя принтера и перенести в код, не забывая про кавычки.

Автор - The_Prist
Дата добавления - 11.09.2014 в 10:46
alex77755 Дата: Четверг, 11.09.2014, 10:50 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Цитата
Если кодом картинка открывается,

А если нет?


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщение
Цитата
Если кодом картинка открывается,

А если нет?

Автор - alex77755
Дата добавления - 11.09.2014 в 10:50
diimen Дата: Четверг, 11.09.2014, 11:04 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
в устройствах принтер называется - Brother HL-2130 series на VITALY

Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & Chr(34) & ImageFullName & Chr(34) & " " & Chr(34) & Принтер & Chr(34)


соответственно пишу:
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & Chr(34) & ImageFullName & Chr(34) & " " & Chr(34) & "Brother HL-2130 series на VITALY" & Chr(34)


Появляется окно открытия файла. Выбираю файл. Окно закрывается. Ничего не происходит.
 
Ответить
Сообщениев устройствах принтер называется - Brother HL-2130 series на VITALY

Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & Chr(34) & ImageFullName & Chr(34) & " " & Chr(34) & Принтер & Chr(34)


соответственно пишу:
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & Chr(34) & ImageFullName & Chr(34) & " " & Chr(34) & "Brother HL-2130 series на VITALY" & Chr(34)


Появляется окно открытия файла. Выбираю файл. Окно закрывается. Ничего не происходит.

Автор - diimen
Дата добавления - 11.09.2014 в 11:04
diimen Дата: Четверг, 11.09.2014, 11:10 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Сработал вариант печати через форму:


UserForm1.Picture = LoadPicture(Путь) - останавливается здесь...
 
Ответить
Сообщение
Сработал вариант печати через форму:


UserForm1.Picture = LoadPicture(Путь) - останавливается здесь...

Автор - diimen
Дата добавления - 11.09.2014 в 11:10
alex77755 Дата: Четверг, 11.09.2014, 11:12 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Форму добавил в проект?


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеФорму добавил в проект?

Автор - alex77755
Дата добавления - 11.09.2014 в 11:12
diimen Дата: Четверг, 11.09.2014, 11:25 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
хм... что есть форма?..

Что-то там создал... Глюк исчез, итога нет.

Токо мне форма врядли нужна в моем проекте. Там имя файла на печать будет формулой создаваться.3

ЗЫ: я чую что чего-то я не понимаю, притом чего-то простого (((((
Неужто нет простой последовательности команд распечатать файл имя которого находится в ячейке А1?..


Сообщение отредактировал diimen - Четверг, 11.09.2014, 11:42
 
Ответить
Сообщениехм... что есть форма?..

Что-то там создал... Глюк исчез, итога нет.

Токо мне форма врядли нужна в моем проекте. Там имя файла на печать будет формулой создаваться.3

ЗЫ: я чую что чего-то я не понимаю, притом чего-то простого (((((
Неужто нет простой последовательности команд распечатать файл имя которого находится в ячейке А1?..

Автор - diimen
Дата добавления - 11.09.2014 в 11:25
The_Prist Дата: Четверг, 11.09.2014, 12:59 | Сообщение № 16
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация: 22 ±
Замечаний: 0% ±

2010
соответственно пишу:

Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintТo /pt " & Chr(34) & ImageFullName & Chr(34) & " " & Chr(34) & "Brother HL-2130 series на VITALY" & Chr(34)
Сравним?
Я предлагал вот такой код, который у меня работает:
[vba]
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & ImageFullName & " " & """Отправить в OneNote 2010"""
[/vba]
Следовательно, Вы должны были сделать одну вещь - вставить имя своего принтера:
[vba]
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & ImageFullName & " " & """Brother HL-2130 series на VITALY"""
[/vba]
А Вы в нормальную строку от себя лишние кавычки записали.


Errare humanum est, stultum est in errore perseverare
 
Ответить
Сообщение
соответственно пишу:

Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintТo /pt " & Chr(34) & ImageFullName & Chr(34) & " " & Chr(34) & "Brother HL-2130 series на VITALY" & Chr(34)
Сравним?
Я предлагал вот такой код, который у меня работает:
[vba]
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & ImageFullName & " " & """Отправить в OneNote 2010"""
[/vba]
Следовательно, Вы должны были сделать одну вещь - вставить имя своего принтера:
[vba]
Код
Shell "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll,ImageView_PrintTo /pt " & ImageFullName & " " & """Brother HL-2130 series на VITALY"""
[/vba]
А Вы в нормальную строку от себя лишние кавычки записали.

Автор - The_Prist
Дата добавления - 11.09.2014 в 12:59
The_Prist Дата: Четверг, 11.09.2014, 13:02 | Сообщение № 17
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация: 22 ±
Замечаний: 0% ±

2010
Неужто нет простой последовательности команд
А Вы сами как на печать картинки отправляете? Вручную? Какая простая последовательность Ваших действий? Наверное, сначала открываете программу, из которой печатать, так? Так. Потом выбираете принтер и кол-во копий и другие параметры. От Excel же хотите, чтобы он какой-то простой строкой(типа "Печатай") делал все это без Вас. Так не бывает.
Самое просто я уже предложил - осталось лишь правильно применить.


Errare humanum est, stultum est in errore perseverare
 
Ответить
Сообщение
Неужто нет простой последовательности команд
А Вы сами как на печать картинки отправляете? Вручную? Какая простая последовательность Ваших действий? Наверное, сначала открываете программу, из которой печатать, так? Так. Потом выбираете принтер и кол-во копий и другие параметры. От Excel же хотите, чтобы он какой-то простой строкой(типа "Печатай") делал все это без Вас. Так не бывает.
Самое просто я уже предложил - осталось лишь правильно применить.

Автор - The_Prist
Дата добавления - 11.09.2014 в 13:02
diimen Дата: Четверг, 11.09.2014, 15:14 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
в предложенном варианте есть процедура выбора файла вручную - это можно делать и без макроса. Интересует именно автоматическая подача на печать.
Есть много картинок (более 50), печатать надо 3-10 за раз в разном количестве. потребность вычисляется простыми методами (ЕСЛИ, ВПР, сводная таблица). Поскольку процедура ежедневная - хочется автоматизировать. Не вставлять же все картинки в эксель ((((
 
Ответить
Сообщениев предложенном варианте есть процедура выбора файла вручную - это можно делать и без макроса. Интересует именно автоматическая подача на печать.
Есть много картинок (более 50), печатать надо 3-10 за раз в разном количестве. потребность вычисляется простыми методами (ЕСЛИ, ВПР, сводная таблица). Поскольку процедура ежедневная - хочется автоматизировать. Не вставлять же все картинки в эксель ((((

Автор - diimen
Дата добавления - 11.09.2014 в 15:14
The_Prist Дата: Четверг, 11.09.2014, 16:41 | Сообщение № 19
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация: 22 ±
Замечаний: 0% ±

2010
именно автоматическая подача на печать

Так Вы скажите - у Вас мой код работает? Если работает для одной картинки - цикл по картинкам из ячеек сделать уже не проблема.


Errare humanum est, stultum est in errore perseverare
 
Ответить
Сообщение
именно автоматическая подача на печать

Так Вы скажите - у Вас мой код работает? Если работает для одной картинки - цикл по картинкам из ячеек сделать уже не проблема.

Автор - The_Prist
Дата добавления - 11.09.2014 в 16:41
diimen Дата: Четверг, 11.09.2014, 16:46 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
не работает ((
принтер сетевой, но я прописывал и полный адрес и просто имя принтера
 
Ответить
Сообщениене работает ((
принтер сетевой, но я прописывал и полный адрес и просто имя принтера

Автор - diimen
Дата добавления - 11.09.2014 в 16:46
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!