Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1414960402
dmk
2014-11-02 23:33
2015.09.10
Слетает платформа


3-1304412780
OW
2011-05-03 12:53
2015.09.10
Вот опять Odac начинает глупости пороть.. ORA-00932


2-1393479979
Васька
2014-02-27 09:46
2015.09.10
Переключение между дочерними окнами


2-1396806177
Drowsy
2014-04-06 21:42
2015.09.10
В DBGridEh есть колонка навигации (самая левая) .


2-1392643424
Дмитрий СС
2014-02-17 17:23
2015.09.10
Редактор очень широких текстов.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский