|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - PowerPoint автоматическое создание слайдов |
|
VBA - PowerPoint автоматическое создание слайдов
|
Старожил Сообщения: 210 |
Профиль | Отправить PM | Цитировать На телевизоре крутятся презентации и видео. В том числе есть презентация с днями рождения сотрудников на неделю. Если честно это очень надоедает. Хотелось бы, чтобы запускался первый титульный слайд, а он бы уже формировал все последующие в зависимости от даты и вставлял нужную фото из папки. Даже не знаю с какой стороны к этому подойти. Ну, точнее понимаю что нужно через VBA, но все, что я могу сделать на VB - это написать какую-либо функцию или процедуру без взаимодействия с элементами презентации
|
|
Отправлено: 08:08, 05-05-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата morebeauty:
|
|
Отправлено: 16:00, 06-05-2014 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Я делал N лет назад подобную штуку (вроде до сих пор работает) - показывать погоду из интернета по телевизору (Это частный случай; в общем случае генерил контент для кабельного канала).
Цитата morebeauty:
№1: "Нажмите ESC чтобы закрыть презентацию". Решается предварительной установкой галочки в PP №2: "Не запущу скрипты, т.к. опасно". Скрипты запускаются через wscript, генерят презентации без скриптов. В таком варианте работает №3: "Не могу сгенерить контент (недоступен интернет)". Посылаем сообщение админу, показываем разные цветочки на экране №4: "Юзверь". Вообще мне попались умные девочки (которые настраивали презентации). Но и правило я придумал несложное: использование "тегов", т.е. ключевых слов на русском языке в угловых скобках. №5: "Race condition". Нельзя правиль презентацию в той папке, откуда идёт показ. Лучше туда копировать уже поправленное. А перед показом копировать презентацию в недоступное извне место. Вообще этот подход себя порошо показал (просто, быстро, надёжно). Главная заноза - правообладатели. |
|
Отправлено: 17:44, 06-05-2014 | #12 |
Старожил Сообщения: 210
|
Профиль | Отправить PM | Цитировать Не могу найти еще кое что. Нужна помощь.
Все объекты (заголовок, текст, картинка) уже вшиты в макет для удобства. Меняю заголовок так: curSlide.Shapes.Title.TextFrame.TextRange = "Заголовок" текст так: curSlide.Shapes(2).TextFrame.TextRange = "Текст" а вот с картинкой беда. Создать ее программно с нуля можно, но хотелось бы иметь возможность обратиться к уже созданному объекту. Если делаю так: curSlide.Shapes(1).Fill.UserPicture "...Pic.jpg" то просто внутрь шейпа вставляется картинка как фон. То есть даже остается текст, видимый в режиме конструктора (вставить рисунок) и в центре шейпа так и остается пиктограмма, по щелчку на которую можно вставить рисунок. А мне нужен код, симулирующий нажатие на эту пиктограмму (минуя диалог выбора файла). Когда я вставляю рисунок таким образом (по пиктограмме), он не растягивается и не сжимается, он обрезается и встает центром в мой шейп. То есть в меню обрезки после этого я могу как надо его подвинуть. К сожалению записи макросов в 2010 офисе нет. В 2007 тоже. Ставить 2003 ради этого не хочется, муторно это. Помогите если сможете. |
Отправлено: 09:32, 07-05-2014 | #13 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Гуголь написал много томов...
http://msdn.microsoft.com/en-us/libr...ice.15%29.aspx http://support.microsoft.com/KB/168649 |
Отправлено: 16:08, 07-05-2014 | #14 |
Старожил Сообщения: 210
|
Профиль | Отправить PM | Цитировать Цитата pva:
Shapes.AddPicture не для моего случая. Я могу и ошибаться, но запустите powerpoint и сделайте то что я сейчас напишу, тогда вы поймете, чего я хочу (с учетом что у вас офис версии не ниже 2007). 1. Создайте новую презентацию 2. В первом слайде, который создастся автоматически, выберите дефолтный макет, в котором уже есть шейп для рисунка. 3. Щелкните по пиктограмме рисунка и в проводнике выберите рисунок, по размеру превышающий рамку. При этом вы увидите, что рисунок вставился в заполнитель и пиктограмма с рисунком пропала. Думаете, в этот момент выполнилось Shapes.AddPicture? Очень сомневаюсь. В заполнитель вставилась картинка. Если теперь выделить картинку и нажать Del (удалить), то заполнитель останется пустым. 4. Теперь зайдите на вкладку "Вставка", выберите рисунок, выберите в проводнике картинку по тем же параметрам что и в п3, и........ О чудо!!! Получилось то же самое что и в 3 действии! Картинка вставилась в заполнитель, который уже есть на слайде. Встал центром в предназначенную для него рамку, а выходящие за рамку края обрезались! Самый прикол в том, что пока я это писал, сам же и проделывал, а до этого не знал, что Shapes.AddPicture точно так же вставит картинку в заполнитель, наплевав на отправленные параметры в методе (например left и top я установил равными 0, а картинка все равно вставилась в заполнитель как захотела). И блин в MSDN про это не сказано ни слова! Короче получилось как мне и было нужно, всем спасибо. Тему пока не ставлю как решенную, потому что могут возникнуть вопросы с программированием анимации, а это тоже входит в сабж. ) |
|
Последний раз редактировалось morebeauty, 08-05-2014 в 06:43. Отправлено: 06:17, 08-05-2014 | #15 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата morebeauty:
|
|
Отправлено: 11:45, 08-05-2014 | #16 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Службы - Автоматическое создание точек восстановления | stvol | Microsoft Windows 7 | 17 | 16-01-2014 21:11 | |
2010 - Создание горячих клавиш в PowerPoint | Memfis09 | Microsoft Office (Word, Excel, Outlook и т.д.) | 1 | 27-03-2013 08:56 | |
Разное - Автоматическое создание vpn подключения | steepz | Microsoft Windows 2000/XP | 3 | 13-03-2011 01:25 | |
Автоматическое создание учетной записи | gpa_76 | Автоматическая установка Windows 2000/XP/2003 | 0 | 06-07-2009 13:53 | |
Outlook Express: автоматическое создание учеток | storm2005 | Microsoft Windows NT/2000/2003 | 0 | 13-10-2006 11:33 |
|