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

Вход

Регистрация

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

 

= Мир MS Excel/Сохранение листа в виде рисунка в формате .jpg - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение листа в виде рисунка в формате .jpg (Макросы/Sub)
Сохранение листа в виде рисунка в формате .jpg
Sashagor1982 Дата: Понедельник, 18.07.2016, 22:44 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 12 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте уважаемые форумчане. Необходимо решить не простую задачу, не знаю, есть ли ее техническая возможность решения, вопрос вот в чем. Приложенный файл пример имеет два листа. Необходимо с помощью программы сохранить их в виде рисунка в формате .jpg в границах печати, т.е. грубо говоря заменив распечатывание и сканирование программой, если решение такой задачи есть, то если возможно второй лист без открытия. Заранее спасибо..
К сообщению приложен файл: -094943.xls(40Kb)


Сообщение отредактировал Sashagor1982 - Понедельник, 18.07.2016, 22:46
 
Ответить
СообщениеЗдравствуйте уважаемые форумчане. Необходимо решить не простую задачу, не знаю, есть ли ее техническая возможность решения, вопрос вот в чем. Приложенный файл пример имеет два листа. Необходимо с помощью программы сохранить их в виде рисунка в формате .jpg в границах печати, т.е. грубо говоря заменив распечатывание и сканирование программой, если решение такой задачи есть, то если возможно второй лист без открытия. Заранее спасибо..

Автор - Sashagor1982
Дата добавления - 18.07.2016 в 22:44
krosav4ig Дата: Вторник, 19.07.2016, 05:49 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1466
Репутация: 597 ±
Замечаний: 0% ±

Excel 2007, 2013
можно как-то так

в модуле ЭтаКнига
[vba]
Код
Sub SaveSheets()
    Dim sh As Worksheet
    For Each sh In Sheets
        SaveSheetAsImage sh
    Next
End Sub
[/vba]
[p.s.]правда, наверно, это не совсем то, что нужно, думаю вам поможет виртуальный принтер (например BullZip)
К сообщению приложен файл: 9906346.xls(62Kb)


(_)Õvõ(_)
 
Ответить
Сообщениеможно как-то так

в модуле ЭтаКнига
[vba]
Код
Sub SaveSheets()
    Dim sh As Worksheet
    For Each sh In Sheets
        SaveSheetAsImage sh
    Next
End Sub
[/vba]
[p.s.]правда, наверно, это не совсем то, что нужно, думаю вам поможет виртуальный принтер (например BullZip)

Автор - krosav4ig
Дата добавления - 19.07.2016 в 05:49
Sashagor1982 Дата: Вторник, 19.07.2016, 09:05 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 12 ±
Замечаний: 20% ±

Excel 2007
Дело в том, что макрос формирует много таких карт, несколько сотен, поэтому работа в ручную очень накладная.
 
Ответить
СообщениеДело в том, что макрос формирует много таких карт, несколько сотен, поэтому работа в ручную очень накладная.

Автор - Sashagor1982
Дата добавления - 19.07.2016 в 09:05
RAN Дата: Вторник, 19.07.2016, 09:50 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4549
Репутация: 920 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКак сохранить картинки из листа Excel в картинки JPG

Автор - RAN
Дата добавления - 19.07.2016 в 09:50
Sashagor1982 Дата: Вторник, 19.07.2016, 22:38 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 179
Репутация: 12 ±
Замечаний: 20% ±

Excel 2007
[vba]
Код
Sub Range_to_Picture()
    Dim sName As String, wsTmpSh As Worksheet
    If TypeName(Selection) <> "Range" Then
        MsgBox "Âûäåëåííàÿ îáëàñòü íå ÿâëÿåòñÿ äèàïàçîíîì!", vbCritical, "www.excel-vba.ru"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    With Selection
        .CopyPicture
        Set wsTmpSh = ThisWorkbook.Sheets.Add
        sName = ActiveWorkbook.FullName & "_" & ActiveSheet.Name & "_Range"
        With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
            .ChartArea.Border.LineStyle = 0
            .Paste
            .Export Filename:=sName & ".jpg", FilterName:="JPG"
            .Parent.Delete
        End With
    End With
    wsTmpSh.Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
[/vba]

Спасибо. Данный макрос в принципе работает как надо, только подскажите, как его доработать, что бы сохранялась не выделенная область, а например лист в границах печати?
 
Ответить
Сообщение[vba]
Код
Sub Range_to_Picture()
    Dim sName As String, wsTmpSh As Worksheet
    If TypeName(Selection) <> "Range" Then
        MsgBox "Âûäåëåííàÿ îáëàñòü íå ÿâëÿåòñÿ äèàïàçîíîì!", vbCritical, "www.excel-vba.ru"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    With Selection
        .CopyPicture
        Set wsTmpSh = ThisWorkbook.Sheets.Add
        sName = ActiveWorkbook.FullName & "_" & ActiveSheet.Name & "_Range"
        With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
            .ChartArea.Border.LineStyle = 0
            .Paste
            .Export Filename:=sName & ".jpg", FilterName:="JPG"
            .Parent.Delete
        End With
    End With
    wsTmpSh.Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
[/vba]

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

Автор - Sashagor1982
Дата добавления - 19.07.2016 в 22:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение листа в виде рисунка в формате .jpg (Макросы/Sub)
Страница 1 из 11
Поиск:

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