Delphi + Powerpoint

Тема в разделе "Delphi - СОМ", создана пользователем Nikola81, 12 июн 2008.

Статус темы:
Закрыта.
  1. Nikola81

    Nikola81 Гость

    Здравствуйте.
    Я создаю специфические отчеты в PowerPoint, вывожу кучу мелких текстов и линий. По ходу работы моей программы с PowerPoint это все визуализируется, и если пользователь начнет кликать на презентацию раньше времени, то естественно возникает ошибка. Сделать PowerPoint не видимым (как например Excel) не получается, PPT.visible:=False возникает ошибка. Может, кто знает, как решить эту проблему?

    Буду очень благодарен, если кто-нибудь подскажет, как можно ускорить процесс прорисовки, а то при средненьком объеме данных презентация создается несколько минут.

    Заранее спасибо.

    uses MSPpt2000,ComObj;

    Procedure TestPowerPoint;
    var PPT,Presentation,CurrentSlide,ShapeText,ShapeLabel:variant;
    begin
    PPT:=CreateOleObject('PowerPoint.Application');
    Presentation:=PPT.Presentations.add; //Добавляем презентацию
    CurrentSlide:=Presentation.Slides.Add(1, 12); //Добавляем слайд

    // PPT.visible:=False; // вызывает ошибку

    ShapeLabel:=CurrentSlide.Shapes.AddLabel(1, 40, 40,100, 100);//Добавляем надпись
    ShapeLabel.TextFrame.TextRange.Text:='Test Of PowerPoint';

    PPT.visible:=True; //Делаем презентацию видимой
    // Если запущеена хоть одна презентация то по умолчанию PPT.visible=True​
    end;
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Nikola81
    а вы с ним как работаете ? компонентами или через OLE ?

    Что у PP Application ведь есть свойство Visible. Неужели оно мешает ставить Lable ?
     
  3. etc

    etc Гость

    Nikola81 Мало кода.
     
  4. Nikola81

    Nikola81 Гость

    Проблема в том, что свойство Visible нельзя поставить значение False (вызывает ошибку). А если PowerPoint был уже запущен, то значение Visible=True по умолчанию.

    Я кстати заметил странную вещь Excel Application можно создавать любое количество независимых копий. PowerPoint Application всегда одно, не зависимо, каким методом создавать CreateOleObject('PowerPoint.Application') или Form1.PowerPointApplication1.Connect;
     
Загрузка...
Похожие Темы - Delphi Powerpoint
  1. cybert
    Ответов:
    0
    Просмотров:
    94
  2. Shouldercannon
    Ответов:
    0
    Просмотров:
    156
  3. antares
    Ответов:
    0
    Просмотров:
    439
  4. Луиза
    Ответов:
    0
    Просмотров:
    295
  5. avizer
    Ответов:
    5
    Просмотров:
    729
Статус темы:
Закрыта.

Поделиться этой страницей