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

Вход

Регистрация

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

 

= Мир MS Excel/Вставка данных из Эксель в Презу и save под другим именем - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Вставка данных из Эксель в Презу и save под другим именем
azartan Дата: Суббота, 25.02.2017, 19:00 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте!

Есть задача - файл Эксель со списком студентов и курсов и надо создать дипломы в ПоверПойнт для каждого студента
Курсов много и учащихся тоже, поэтому вручную копировать ФИО из Экселя, вставлять в шаблон ПоверПойнт и пересохранять под другим именем очень сложно

Написала кусок макроса, который вставляет данные для одного учащегося в презу

Не получается создать правильный макрос, который бы
1. Открыл шаблон презы
2. Вставил данные первого студента
3. Сохранил презу как... (с названием фамилии студента)
4. Закрыл презу

5. Открыл шаблон презы
6. Вставил данные ВТОРОГО студента
7. Сохранил презу как ...
и т.д.

В заархивированном файле - экселька и шаблон презы

Помогите, пожалуйста

Спасибо
К сообщению приложен файл: Diploms.rar (83.3 Kb)


Сообщение отредактировал azartan - Суббота, 25.02.2017, 19:01
 
Ответить
СообщениеЗдравствуйте!

Есть задача - файл Эксель со списком студентов и курсов и надо создать дипломы в ПоверПойнт для каждого студента
Курсов много и учащихся тоже, поэтому вручную копировать ФИО из Экселя, вставлять в шаблон ПоверПойнт и пересохранять под другим именем очень сложно

Написала кусок макроса, который вставляет данные для одного учащегося в презу

Не получается создать правильный макрос, который бы
1. Открыл шаблон презы
2. Вставил данные первого студента
3. Сохранил презу как... (с названием фамилии студента)
4. Закрыл презу

5. Открыл шаблон презы
6. Вставил данные ВТОРОГО студента
7. Сохранил презу как ...
и т.д.

В заархивированном файле - экселька и шаблон презы

Помогите, пожалуйста

Спасибо

Автор - azartan
Дата добавления - 25.02.2017 в 19:00
azartan Дата: Понедельник, 27.02.2017, 20:24 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Может как-то попроще можно - например, "сохранять как" презентации не с названием по фамилии студента, а просто 1, 2, 3, 4 ... и т.д.
пусть курс и дата не вставляются - можно несколько шаблонов сделать под каждый курс

Главное, чтоб
1. фамилии по порядку вставлялись из экселя в шаблон презы и
2. преза сохранялась под новым именем (всё равно каким, хоть под номером)
 
Ответить
СообщениеМожет как-то попроще можно - например, "сохранять как" презентации не с названием по фамилии студента, а просто 1, 2, 3, 4 ... и т.д.
пусть курс и дата не вставляются - можно несколько шаблонов сделать под каждый курс

Главное, чтоб
1. фамилии по порядку вставлялись из экселя в шаблон презы и
2. преза сохранялась под новым именем (всё равно каким, хоть под номером)

Автор - azartan
Дата добавления - 27.02.2017 в 20:24
Manyasha Дата: Вторник, 28.02.2017, 12:38 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

Excel 2010, 2016
azartan, здравствуйте, попробуйте так:
[vba]
Код
Sub diplomy()
    Dim objPP As Object, workPP  As Object
    Dim sFileName As String
    Dim i As Long, lr As Long
    'порверка активности POWERPNT.exe
    On Error Resume Next
        Set objPP = GetObject(, "PowerPoint.Application")
        If Err <> 0 Then Set objPP = CreateObject("PowerPoint.Application")
        Err.Clear
    On Error GoTo 0
    
    sFileName = ThisWorkbook.Path & "\Diplom.pptx"
    Set workPP = objPP.Presentations.Open(sFileName, , , msoFalse)
    lr = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To lr
        With workPP.slides(1)
            .Shapes("FIO").TextFrame.TextRange.Text = Cells(i, 1)
            .Shapes("Kurs").TextFrame.TextRange.Text = Cells(i, 2)
            .Shapes("Data").TextFrame.TextRange.Text = Cells(i, 5)
        End With
        workPP.SaveCopyAs ThisWorkbook.Path & "\Diplom-Курс " & Cells(i, 2) & "-" & Cells(i, 1) & ".pptx"
    Next i
    workPP.Close
    MsgBox "Done!"
End Sub
[/vba]

Я изменила тип шаблона Diplom.ppt на pptx. Он так меньше весит, быстрее открывается и быстрее сохраняется.
К сообщению приложен файл: test.rar (71.7 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеazartan, здравствуйте, попробуйте так:
[vba]
Код
Sub diplomy()
    Dim objPP As Object, workPP  As Object
    Dim sFileName As String
    Dim i As Long, lr As Long
    'порверка активности POWERPNT.exe
    On Error Resume Next
        Set objPP = GetObject(, "PowerPoint.Application")
        If Err <> 0 Then Set objPP = CreateObject("PowerPoint.Application")
        Err.Clear
    On Error GoTo 0
    
    sFileName = ThisWorkbook.Path & "\Diplom.pptx"
    Set workPP = objPP.Presentations.Open(sFileName, , , msoFalse)
    lr = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To lr
        With workPP.slides(1)
            .Shapes("FIO").TextFrame.TextRange.Text = Cells(i, 1)
            .Shapes("Kurs").TextFrame.TextRange.Text = Cells(i, 2)
            .Shapes("Data").TextFrame.TextRange.Text = Cells(i, 5)
        End With
        workPP.SaveCopyAs ThisWorkbook.Path & "\Diplom-Курс " & Cells(i, 2) & "-" & Cells(i, 1) & ".pptx"
    Next i
    workPP.Close
    MsgBox "Done!"
End Sub
[/vba]

Я изменила тип шаблона Diplom.ppt на pptx. Он так меньше весит, быстрее открывается и быстрее сохраняется.

Автор - Manyasha
Дата добавления - 28.02.2017 в 12:38
azartan Дата: Вторник, 28.02.2017, 20:51 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Manyasha, идеальный вариант

Спасибо огромное!!!
 
Ответить
СообщениеManyasha, идеальный вариант

Спасибо огромное!!!

Автор - azartan
Дата добавления - 28.02.2017 в 20:51
  • Страница 1 из 1
  • 1
Поиск:

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