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

Вход

Регистрация

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

 

= Мир MS Excel/Создание HTML страницы (с картинками) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Создание HTML страницы (с картинками) (VBA)
Создание HTML страницы (с картинками)
Rioran Дата: Пятница, 22.08.2014, 15:45 | Сообщение № 1
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Всем привет и хорошего настроения!

Вчера один знакомый спросил меня, можно ли сделать в Excel такую кнопку, которая будет создавать HTML документ. Мол, может пригодится при публикации и распространении отчётов. И я не задумываясь ответил "Да, конечно можно", хотя сам с подобными методами раньше не соприкасался.

В приложенном файле Вы найдёте макрос, который по нажатию кнопки:

1). Предложит выбрать, с какой части документа сделать снимок. Выбираются ячейки, но при этом всё, чему они служат фоном - также попадёт на снимок.
2). Создаст JPG картинку в той же директории, что и сам файл.
3). Создаст там же HTML-документ (файл .htm) со ссылкой на картинку. Комментарий берётся из ячейки Excel.
4). Откроет созданный файл в браузере по умолчанию.

Сей незамысловатый трюк может прийтись по вкусу компаниям с общими сетевыми папками.

Лично меня порадовало, что HTML код можно прописывать в ячейках Excel - и из этих кусочков собирать результирующий документ.

[vba]
Код
Sub Public_JPG_to_WEB()

'Author:    Roman Rioran Voronov
'Date:      the 22-nd of August, 2014
'Feedback:  voronov_rv@mail.ru

'Purpose:   This subroutine allows user to convert selected cells to JPG
'           and makes an HTML document with it.

Dim PathX As String 'Where our book is
Dim NameX As String 'How to name new picture
Dim rngX As Range 'What to shot as a picture

PathX = ThisWorkbook.Path & "\": NameX = "Temporary_Picture"
Set rngX = Application.InputBox(prompt:="Select range for HTML page:", Title:="Time to choose", Type:=8)

'Saving a picture
rngX.CopyPicture
With ThisWorkbook.Worksheets(1).ChartObjects.Add(rngX.Left, rngX.Top, rngX.Width, rngX.Height)
     .Activate
     .Chart.Paste
     .Chart.Export PathX & NameX & ".jpg", "JPG"
End With
Worksheets(1).ChartObjects(Worksheets(1).ChartObjects.Count).Delete
Set rngX = Nothing

'Creating a HTML file
Open PathX & "Rio_WEB_File.htm" For Output As #1
     Print #1, "<html><head><title>Rio-PAGE</title></head>"
     Print #1, "<body bgcolor: #f0f0f0; font-family: Arial, Helvetica; font-size: 11pt; margin-left: 10; margin-right: 10>"
     Print #1, "<h1>Rio - Magic</h1>Here you can see what do I want to share with you:<br><br>"
     Print #1, "<img src=" & PathX & NameX & ".jpg" & " alt=" & NameX & "><br><br>" & Cells(2, 1).Value & "<br><br>"
     Print #1, "<small>Supported by Roman Rioran Voronov, for any feedback mail to voronov_rv@mail.ru </small></body></html>"
Close #1

'Time to open what we have
ActiveWorkbook.FollowHyperlink Address:=PathX & "Rio_WEB_File.htm", NewWindow:=True

End Sub
[/vba]
К сообщению приложен файл: Rio_Runs_WEB.xlsm (21.2 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеВсем привет и хорошего настроения!

Вчера один знакомый спросил меня, можно ли сделать в Excel такую кнопку, которая будет создавать HTML документ. Мол, может пригодится при публикации и распространении отчётов. И я не задумываясь ответил "Да, конечно можно", хотя сам с подобными методами раньше не соприкасался.

В приложенном файле Вы найдёте макрос, который по нажатию кнопки:

1). Предложит выбрать, с какой части документа сделать снимок. Выбираются ячейки, но при этом всё, чему они служат фоном - также попадёт на снимок.
2). Создаст JPG картинку в той же директории, что и сам файл.
3). Создаст там же HTML-документ (файл .htm) со ссылкой на картинку. Комментарий берётся из ячейки Excel.
4). Откроет созданный файл в браузере по умолчанию.

Сей незамысловатый трюк может прийтись по вкусу компаниям с общими сетевыми папками.

Лично меня порадовало, что HTML код можно прописывать в ячейках Excel - и из этих кусочков собирать результирующий документ.

[vba]
Код
Sub Public_JPG_to_WEB()

'Author:    Roman Rioran Voronov
'Date:      the 22-nd of August, 2014
'Feedback:  voronov_rv@mail.ru

'Purpose:   This subroutine allows user to convert selected cells to JPG
'           and makes an HTML document with it.

Dim PathX As String 'Where our book is
Dim NameX As String 'How to name new picture
Dim rngX As Range 'What to shot as a picture

PathX = ThisWorkbook.Path & "\": NameX = "Temporary_Picture"
Set rngX = Application.InputBox(prompt:="Select range for HTML page:", Title:="Time to choose", Type:=8)

'Saving a picture
rngX.CopyPicture
With ThisWorkbook.Worksheets(1).ChartObjects.Add(rngX.Left, rngX.Top, rngX.Width, rngX.Height)
     .Activate
     .Chart.Paste
     .Chart.Export PathX & NameX & ".jpg", "JPG"
End With
Worksheets(1).ChartObjects(Worksheets(1).ChartObjects.Count).Delete
Set rngX = Nothing

'Creating a HTML file
Open PathX & "Rio_WEB_File.htm" For Output As #1
     Print #1, "<html><head><title>Rio-PAGE</title></head>"
     Print #1, "<body bgcolor: #f0f0f0; font-family: Arial, Helvetica; font-size: 11pt; margin-left: 10; margin-right: 10>"
     Print #1, "<h1>Rio - Magic</h1>Here you can see what do I want to share with you:<br><br>"
     Print #1, "<img src=" & PathX & NameX & ".jpg" & " alt=" & NameX & "><br><br>" & Cells(2, 1).Value & "<br><br>"
     Print #1, "<small>Supported by Roman Rioran Voronov, for any feedback mail to voronov_rv@mail.ru </small></body></html>"
Close #1

'Time to open what we have
ActiveWorkbook.FollowHyperlink Address:=PathX & "Rio_WEB_File.htm", NewWindow:=True

End Sub
[/vba]

Автор - Rioran
Дата добавления - 22.08.2014 в 15:45
Мир MS Excel » Вопросы и решения » Готовые решения » Создание HTML страницы (с картинками) (VBA)
  • Страница 1 из 1
  • 1
Поиск:

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