Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
Внизперенос данных из 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;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.06 c