Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
13.09.2007, 13:37
|
|||
---|---|---|---|
|
|||
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Есть Execl файл, в нём таблицы и диаграммы. Нужно что бы с помощью макроса, таблицы и диаграммы переносились в PowerPoint нажатием на кнопку. Тоесть автоматическое создание презентации. Я ещё только начинающий программер в VBA. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.09.2007, 22:09
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Если получится, то поделись. (на мыло или на форум) Немного эгоистично, но вещь нужная, а разбираться некогда. Сейчас делаю так. Есть файл Эксель, в котором нарисованы все шаблоны диаграмм и таблиц на каждом листе ровно на печатную страницу. Есть файл ПоверПоинт, в котором связанные ссылки на все печатные диапазоны файла Эксель. Таким образом нужно только обновить данные в Экселе, потом открыть Повер, зайти в правка - связи, выделить все и нажать обновить и все связи обновятся. Причём удобно, что при отправке такая презентация содержит только рисунки диаграмм, в то время как при обычном копировании из Эксель Диаграммы вместе с ней в Презентацию подвязывается весь файл Эксель и его потом можно открыть двойным щелчком по диаграмме. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2007, 08:38
|
|||
---|---|---|---|
|
|||
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Вот что сочинил мой приятель. Поиск и вставка диаграмм идёт по отдельным листам. А мне надо чтобы поиск шёл в листе где находятся таблицы и диаграммы. Sub ImportGraphs() 'Dim xlApp As Excel.Application Dim counter As Integer Dim fileName As String Dim xlApp As Object Dim xlWorkbook As Object Set xlApp = CreateObject("Excel.Application") fileName = xlApp.GetOpenFilename("Excel Files (*.xls), *.xls") If fileName Like "" Then MsgBox ("Выберите файл для импортирования данных") Else xlApp.Workbooks.Open (fileName) Set xlWorkbook = xlApp.ActiveWorkbook xlApp.Visible = True counter = 1 For counter = 1 To xlWorkbook.Sheets.Count If xlWorkbook.Sheets(counter).Name Like "Диаграмма*" Then xlWorkbook.Sheets(counter).ChartArea.Copy ActivePresentation.Slides(counter).Select ActiveWindow.View.Paste End If Next End If Set xlWorkbook = Nothing xlApp.Quit Set xlApp = Nothing End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2007, 16:49
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Вот немного потделал Option Explicit Sub ImportGraphs() Dim counter As Integer Dim fileName As String Dim i Dim xlApp As Object Dim xlWorkbook As Object Dim xlSheet As Object Set xlApp = CreateObject("Excel.Application") fileName = xlApp.GetOpenFilename("Excel Files (*.xls), *.xls") If fileName Like "" Then MsgBox ("Âûáåðèòå ôàéë äëÿ èìïîðòèðîâàíèÿ äàííûõ") Else xlApp.Workbooks.Open (fileName) Set xlWorkbook = xlApp.ActiveWorkbook xlApp.Visible = True counter = 1 For Each xlSheet In xlWorkbook.Sheets If xlSheet.Name Like "Äèàãðàììà*" Then xlSheet.ChartArea.Copy ActivePresentation.Slides.Add(Index:=counter, Layout:=ppLayoutBlank).Select ActiveWindow.View.PasteSpecial ppPasteOLEObject, , , , , msoTrue counter = counter + 1 Else If xlSheet.ChartObjects.Count > 0 Then For i = 1 To xlSheet.ChartObjects.Count xlSheet.ChartObjects(i).Chart.ChartArea.Copy ActivePresentation.Slides.Add(Index:=counter, Layout:=ppLayoutBlank).Select ActiveWindow.View.PasteSpecial ppPasteOLEObject, , , , , msoTrue counter = counter + 1 Next End If End If Next End If Set xlWorkbook = Nothing xlApp.Quit Set xlApp = Nothing End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2007, 16:49
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2007, 17:08
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Даже так Option Explicit ' Импортирует все графики в презентацию Dim counter As Long Sub ImportGraphs() Dim fileName As String Dim i Dim xlApp As Object Dim xlWorkbook As Object Dim xlSheet As Object Set xlApp = CreateObject("Excel.Application") fileName = xlApp.GetOpenFilename("Excel Files (*.xls), *.xls") If fileName Like "" Then MsgBox ("Выберите файл для импортирования данных") Else xlApp.Workbooks.Open (fileName) Set xlWorkbook = xlApp.ActiveWorkbook xlApp.Visible = True counter = 1 For Each xlSheet In xlWorkbook.Sheets If xlSheet.Name Like "Диаграмма*" Then xlSheet.ChartArea.Copy PasteGraphs Else If xlSheet.ChartObjects.Count > 0 Then For i = 1 To xlSheet.ChartObjects.Count xlSheet.ChartObjects(i).Chart.ChartArea.Copy PasteGraphs Next End If End If Next End If Set xlWorkbook = Nothing xlApp.Quit Set xlApp = Nothing End Sub Sub PasteGraphs() ActivePresentation.Slides.Add(Index:=counter, Layout:=ppLayoutBlank).Select ActiveWindow.View.PasteSpecial ppPasteOLEObject, , , , , msoTrue ' изменение размера вставленного объекта With ActiveWindow.Selection.ShapeRange .ScaleWidth 1.2, msoFalse, msoScaleFromBottomRight .ScaleHeight 1.2, msoFalse, msoScaleFromBottomRight .ScaleWidth 1.2, msoFalse, msoScaleFromTopLeft .ScaleHeight 1.2, msoFalse, msoScaleFromTopLeft End With counter = counter + 1 End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2007, 17:09
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Да шо за нах... DeggasadДаже так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62.
З.ы.: Модератору: удалите пожалуйста мои сообщения котоые не обрамлены кодом ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2007, 16:42
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Прилагаю файл с переделанными вариантами на всякий случай ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2007, 16:53
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Но самое главное спасибо PlayerP за то, что он подтокнул меня сделать, то, на что я давно не решался, а хотелось. Вообщем кому нужно выкладываю пример процедуры, которая предлагает выбрать один из открытых файлов, выбирает из этих файлов области печати со всех листов, на которых присвоены области печати и вставляет их как связанные объекты в Презентацию добавляя при этом слайды по порядку. Предполагается что пользователь заблаговременно задал области печати размером примерно на альбомный печатный лист на всех листах которые хотел перенести в презентацию, а также убрал на них сетку и разметку страниц дабы не портить внешний вид слайда. Буду рад предложениям и улучшениям, возможно новым идеям ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2007, 20:08
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
К концу дня появились обновления! Всякие проверки там и полезности, типа ввода первого номера слайда, выравнивание размера, вообщем кому надо - пользуйтесь, по крайней мере для примера. 3-4 месяца назад я бы многое за такой примерчик отдал бы (ну да это чувствас). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 10:03
|
|||
---|---|---|---|
|
|||
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Deggasad ты гений! Но есть не большие проблемы. В файле Excel я указал несколько областей печати, запустил макрос и, и не работает. То есть не вставляет указанные области печати в отдельные листы презентации. Deggasad как сделать так чтобы указанные области печати вставлялись в отдельные листы презентации??? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 11:31
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
1) проверте действительно ли вы задали области печати (лучше всего их задавать с помощью меню файл - область печати задать), тогда у вас должен появиться диапазон область печати в раскрывающемся списке адресов, как в прилагаемом рисунке. 2) Возможно увас этот диапазон будет называться по другому, наприер если у вас английский Эксель, то он наверное будет называться "Print_Area" В этом случае замените в строке кода Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 14:51
|
|||
---|---|---|---|
|
|||
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Deggasad дела в том что если я указываю 1 область печати то данная область вставляться в PowerPoint, но если я добавляю область печати, макрос перестаёт работать и при этом пишет что он всё импортировал, а лист остался пустой в презентации. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 14:54
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Не пойму, может файл выложите который не хочет импортироваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 14:56
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
DeggasadНе пойму, может файл выложите который не хочет импортироваться. Только с вашими областями, которые вы добавили ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 16:31
|
|||
---|---|---|---|
|
|||
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Этот файл не могу выложить, чревато последствиями для меня. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 16:43
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
PlayerPЭтот файл не могу выложить, чревато последствиями для меня. Что же блин так сложно всегда. Ну неужели вы не можете создать файл с 3-мя листами попробовать воспроизвести своё горе на этих трёх листах, так чтобы поменьше весил файл, но при этом была понятна ваша проблема. То есть ваши секреты мне не нужны, как раз наоборот я не собираюсь качать Мегафайл мегабайт в 20. Нужен короткий пример с абстракными данными, который наглядно иллюстрирует что у вас не получается. Или вы не хотите напрягаться делать такой пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 17:44
|
|||
---|---|---|---|
|
|||
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Вот абстрактный пример (смотрите вложение). Нужно чтобы таблицы и диаграммы импортировалась в презентацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 18:47
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Я же просил изобразить твои попытки, а ты скинул две диаграммы - на мол, как будто одолжение сделал. Короче, я выкладываю как бы сделал я, если использовать предложенную мной идею. Один лист экселя - это один слайд. Таким образом на каждом листе мы создаём всё что нужно слайду на одной странице с альбомной ориентацией и желательно 100% масштабом (это чтобы не путаться), т.е. сдесь пишем название, делаем и размещаем по слайду диаграмки, таблички, надписи, автофигуры. Задаём область печати ровно на одну страницу (меню файл - область печати - задать), не забываем убрать сетку с листа или сделать нужную заливку и выйти из режтма разметки страницы а то полосы синие на слайде будут. И это всё попторяем для всех листов - слайдов, при этом на листах может находится сколько угодно вспомогательных данных главное чтобы они не попадали в область печати. А потом запускаем макрос, который я последним прилагал и он должен выбрать со свех листов выбранной книги области печати листов-слайдов и связать их со слайдами презентации. При изменении в файле Эксель данных, можно просто обновить все связи в презентации. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 18:54
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
А чтобы просто выбрать все диаграммы и поместить на слайды, я там где-то раньше решение прилагал! - просто дорабатывать не стал, так как посчитал менее интересным. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 18:55
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
DeggasadА чтобы просто выбрать все диаграммы и поместить на слайды, я там где-то раньше решение прилагал! тут ссылка была :) - просто дорабатывать не стал, так как посчитал менее интересным. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 18:59
|
|||
---|---|---|---|
|
|||
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Извени я просто тебя не понял. Вот именно мне нужно что бы таблицы и диаграммы брались с одного листа. Иначе предаться переделывать основной файл. А он очень большой, иметься виду много таблиц и диаграмм. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2007, 19:28
|
|||
---|---|---|---|
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
PlayerPИзвени я просто тебя не понял. Вот именно мне нужно что бы таблицы и диаграммы брались с одного листа. Иначе предаться переделывать основной файл. А он очень большой, иметься виду много таблиц и диаграмм. Моё мнение такое что всё равно с этим где-то работать. Не разберёшь и не упорядочишь в экселе, придётся возится в поинте. Но это тебе уже решать. Вариант для диаграмм я уже давал, осталось пробежаться по таблицам. Целесообразно наверное дать всех нужным таблицам имена, например (Лист1!таблица1 , Лист1!таблица2 ... , Лист5!таблица10), Это вставка - имя - присвоить или просто набисать в окошке где адрес ячейки пишется. Потом пробегаться по всем именам в файле и если в нём присутствует слово таблица, то копируем его. Вот пока писал пост решил по быстрому реализовать. только не забывайте перед именами название листов указывать, а то не будут имена выбираться Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.09.2007, 17:18
|
|||
---|---|---|---|
|
|||
Макрос для переноса диаграм и таблиц из execl в powerpoint |
|||
#18+
Вот мой вариант вставления таблиц м диаграмм. Пока конечно в сыром виде, но я над этим работаю. Возник вопрос, как сделать так что бы презентация создавалась на готовом шаблоне. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&mobile=1&tid=2156517]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 261ms |
total: | 395ms |
0 / 0 |