Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.10;
Скачать: CL | DM;

Вниз

перенос данных из excel в power point   Найти похожие ветки 

 
kossxsasha ©   (2014-04-21 15:10) [40]

>junglecat
Спасибо я хотел сделать это позже когда заработает копирование)


 
kossxsasha ©   (2014-04-22 11:22) [41]

Ребят ну что подскажите что с ошибкой делать?


 
junglecat   (2014-04-22 11:49) [42]

хз, что у тебя там с экселем. Возможно, книга просто защищена от записи, либо завис процесс экселевский


 
kossxsasha ©   (2014-04-23 08:33) [43]

еще в билде пишет "for loop control variable must be simple local variable" , может это поможет..


 
KilkennyCat ©   (2014-04-23 09:14) [44]

нет, это означает, что для циклов рекомендуется объявлять счетчик локально, т.е. внутри функции:

ppApp:variant;
ppPres, ppSlide, ppShape : Variant;
i, j : integer; // здесь некорректно
s : string;
procedure TForm1.Button1Click(Sender: TObject);

procedure FindAndReplace(ppPres: Variant; SearchStr, ReplaceStr: string);
var i : integer; // здесь корректно
begin
for i := 1 to ppPres.Slides.Count do


 
kossxsasha ©   (2014-04-23 10:16) [45]

>KilkennyCat
Спасибо! Только вот самой главной проблемы это не решило(


 
brother ©   (2014-04-23 10:36) [46]

> Вызов был отклонен

1. поробуйте выполнить exe от имени администратора.
2.
> "%сылка%"

заменить на %LINK% в программе и в пп.


 
brother ©   (2014-04-23 10:37) [47]

> %LINK%

те %LINK1%


 
kossxsasha ©   (2014-04-23 10:51) [48]

Все сделал не помогло..(


 
kossxsasha ©   (2014-04-23 10:53) [49]

А такой вопрос, если у меня %link% находится в надписи это ни на что не влияет?


 
brother ©   (2014-04-23 11:13) [50]

> в надписи

это что?
именно [47] делали с заменой в exe и в презентации?


 
kossxsasha ©   (2014-04-23 11:21) [51]

>> в надписи

это что?
именно [47] делали с заменой в exe и в презентации?
Вставка-надпись в нее пишу %Link%, так точно и там и там менял..


 
brother ©   (2014-04-23 11:43) [52]

1. В видимо читаете через раз? я специально указал %LINK1%, дабы не перепутать с другими %LINK%.
2. Но это не критично, ведь AV все еще есть?


 
brother ©   (2014-04-23 11:45) [53]

выполните В НОВОМ проекте
exel:=CreateOleObject("Excel.Application");
exel.Workbooks.Open("D:\e.xls");
exel.visible:=true;
e:=exel.Range["a1"];
sleep(1);


до sleep исполнение доходит? чему равна переменная e ?


 
kossxsasha ©   (2014-04-23 11:58) [54]

Сделал так
<CODEexel:=CreateOleObject("Excel.Application");
exel.Workbooks.Open("D:\e.xls");
exel.visible:=true;
e:=exel.Range["a1"];
ShowMessage(e);
sleep(1);>
в ответ выводит 222 так же как и в документе.
Как узнать что код дошел до sleep?
Проблема в том, что при работе только с ПП (поиск и замена %LINK1% все работает) также и с екселем, но когда я пытаюсь из экселя достать эти "222" и вставить в %LINK1% то появляется проблема.


 
kossxsasha ©   (2014-04-23 11:58) [55]

извиняюсь за косяк с кодом


 
brother ©   (2014-04-23 12:01) [56]

вот так у меня прекрасно работает...

procedure TForm1.Button1Click(Sender: TObject);
var
 excel: variant;
 e: string;
begin
excel:=CreateOleObject("Excel.Application");
excel.Workbooks.Open("c:\test\1.xls");
//excel.visible:=true;
e:=excel.Range["a1"];
showmessage(e);
excel.quit;
end;


 
brother ©   (2014-04-23 12:02) [57]

а, еще раз выложите последний код, что вы пробуете сейчас...


 
kossxsasha ©   (2014-04-23 12:08) [58]

вот еще что только что заметил... если я делаю так
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, "%LINK1%", "e");

end;

end.
то в ПП ЛИНК меняется на просто "е" но про это показывает ошибку
"указанное значение выходит за допустимые пределы" и выделяет
s:= ppShape.TextFrame.TextRange.Text; эту строку, обе переменные s и e обозначены string  может тут какая то проблема?


 
kossxsasha ©   (2014-04-23 12:10) [59]

>brother ©   (23.04.14 12:01) [56]
вот так у меня прекрасно работает...

procedure TForm1.Button1Click(Sender: TObject);
var
excel: variant;
e: string;
begin
excel:=CreateOleObject("Excel.Application");
excel.Workbooks.Open("c:\test\1.xls");
//excel.visible:=true;
e:=excel.Range["a1"];
showmessage(e);
excel.quit;
end;
у меня тоже, я же говорю по отдельности что ексель что ПП прекрасно работают, по крайней мере ПП работал..


 
kossxsasha ©   (2014-04-23 12:25) [60]

только что на другом форуме ответили, что мой код полностью работоспособен!  делаю вывод- виндовс 8 и новый МС ворд не лучшее средство работы с делфи...


 
junglecat   (2014-04-23 12:57) [61]

> "указанное значение выходит за допустимые пределы" и выделяет
>
> s:= ppShape.TextFrame.TextRange.Text

а никаких параметров не надо для задания этого textrange?


 
kossxsasha ©   (2014-04-23 13:15) [62]

>а никаких параметров не надо для задания этого textrange?
Дело в том что до этого все работало идеально, незнаю что потом случилось но стал выделять эту строку..


 
brother ©   (2014-04-23 15:48) [63]

> до этого все работало идеально

это когда? финальный код же тут появился?


 
kossxsasha ©   (2014-04-23 16:30) [64]

это когда я тему создал.



Страницы: 1 2 вся ветка

Текущий архив: 2015.09.10;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.249 c
15-1415309409
Юрий
2014-11-07 00:30
2015.09.10
С днем рождения ! 7 ноября 2014 пятница


2-1395057166
Вова
2014-03-17 15:52
2015.09.10
Работа функции CharInSet


15-1418231693
Rouse_
2014-12-10 20:14
2015.09.10
Троичная логика и математика (триты, трайты и прочая нечисть :)


8-1236500354
deswan
2009-03-08 11:19
2015.09.10
Graphics32 - навигация по изображению


2-1392391651
dehkanin
2014-02-14 19:27
2015.09.10
Почему выплывает исключение?