Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2014, 09:00   #1
meshkale
Пользователь
 
Регистрация: 22.01.2014
Сообщений: 32
По умолчанию Поиск данных в Excel и перенос в шаблон Power Point

Ребятушки всем привет, прошу помощи или наставления на путь истинный!
С помощью бубнов я намуил вот такой код который ищет в PP определенный данные( в данном случае имеется только одна ссылка, но их будет много ) и заменяет их на другие.
Цитата:
var
ppApp:variant;
ppPres, ppSlide, ppShape : Variant;
i, j : integer;
s : string;
procedure TForm1.Button1Click(Sender: TObject);

procedure FindAndReplace(ppPres: Variant; SearchStr, ReplaceStr: string);
begin
for i := 1 to ppPres.Slides.Count do
begin
ppSlide := ppPres.Slides.Item(i);
for j := 1 to ppSlide.Shapes.Count do
begin
ppShape := ppSlide.Shapes.Item(j);
s := ppShape.TextFrame.TextRange.Text;
s := StringReplace(s, SearchStr, ReplaceStr, [rfReplaceAll]);
ppShape.TextFrame.TextRange.Text := s;
end;
end;
end;
begin
ppApp:=CreateOleObject('PowerPoint. Application');
ppPres:= ppApp.Presentations.Open('D:\p.ppt' , False, False, True);
ppApp.visible:=true;
FindAndReplace(ppPres, '%сылка%', 'привет');
end;

end.
Но ни как не получается сделать так, чтобы определенные данные искались в Excel и вставлялись в эти ссылки в PP. Пробовал аналогичным способом, но моих знаний и мастерства не хватило, так как я можно сказать новичок в этих делах. Помогите кто чем может добрые люди!
meshkale вне форума Ответить с цитированием
Старый 23.04.2014, 08:32   #2
meshkale
Пользователь
 
Регистрация: 22.01.2014
Сообщений: 32
По умолчанию

Ребят вот сам попробовал
Код:
var
 ppApp,exel,ex:variant;
  ppPres,ppSlide,ppShape: Variant;
  i,j: integer;
  s,e: string;
procedure TForm1.Button1Click(Sender: TObject);
 
procedure FindAndReplace(ppPres: Variant; SearchStr, ReplaceStr: string);
 
begin
  for i:= 1 to ppPres.Slides.Count do
  begin
    ppSlide:= ppPres.Slides.Item(i);
    for j:= 1 to ppSlide.Shapes.Count do
    begin
      ppShape:= ppSlide.Shapes.Item(j);
      s:= ppShape.TextFrame.TextRange.Text;
      s:= StringReplace(s, SearchStr, ReplaceStr, [rfReplaceAll]);
      ppShape.TextFrame.TextRange.Text:=s;
      end;
  end;
end;
begin
  exel:=CreateOleObject('Excel.Application');
  exel.Workbooks.Open('D:\e.xls');
  exel.visible:=true;
 
  ppApp:=CreateOleObject('PowerPoint.Application');
  ppPres:= ppApp.Presentations.Open('D:\p.ppt', False, False, True);
  ppApp.visible:=true;  
  e:=exel.Range['a1'];
  FindAndReplace(ppPres, '%ссылка%', e);
end;
end.
но выдает ошибку (прикрепил рисунок) и выделяет " e:=exel.Range['a1'];" эту строку, да и в билде пишет "for loop control variable must be simple local variable" , подскажите в чем дело?
Изображения
Тип файла: jpg Безымянный.jpg (36.8 Кб, 18 просмотров)
meshkale вне форума Ответить с цитированием
Старый 23.04.2014, 13:17   #3
meshkale
Пользователь
 
Регистрация: 22.01.2014
Сообщений: 32
По умолчанию

Один человек на другом форуме сказал что у него все работает, так что кому надо пользуйтесь.
meshkale вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматизация расчетов и экспорт данных из Excel в Power Point 2010 osuna Microsoft Office Excel 1 22.02.2014 16:41
Значение ячейки из Excel в Power Point Hoochara Microsoft Office Excel 3 09.11.2012 16:17
Перенос данных в шаблон INNKyiv Microsoft Office Excel 1 25.12.2011 19:39
При запуске процедуры в power point должна открываться форма из excel brans Microsoft Office Excel 12 17.12.2010 18:39
Power Point lenivec Общие вопросы Delphi 9 17.06.2010 22:39