Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Про Excel   Найти похожие ветки 

 
klerk   (2004-09-30 14:54) [0]

Вот пытаюсь загрузить имена всех открытых файлов Excel в Combobox.
ExcelApplication1.Connect;
try
excelapplication1.wo
if  ExcelApplication1.Workbooks.Count=0 then      
begin
Combobox1.items.add("Нет открытых.");
combobox1.ItemIndex:=0;
end
else
   for I := 1 to ExcelApplication1.Workbooks.Count do
  begin
    W := ExcelApplication1.Workbooks[I];
    S:=w.name;
         Combobox1.Items.Add(S);
  end;
finally
  ExcelApplication1.Disconnect;
  combobox1.ItemIndex:=0;

Так он находит один (первый) и всё.
Помогите.


 
klerk   (2004-09-30 14:56) [1]

excelapplication1.wo можно не смотреть - ошибся при копировании:)
Этой строки нет.


 
YurikGL ©   (2004-09-30 15:09) [2]

App : Variant;

try
app := CreateOleObject("Excel.Application");
 App.Visible := True;
if  app.Workbooks.Count=0 then
begin
Combobox1.items.add("Íåò îòêðûòûõ.");
combobox1.ItemIndex:=0;
end
else
  for I := 1 to app.Workbooks.Count do
   Combobox1.Items.Add(app.Workbooks[I].name);
finally
 App:=Unassigned;
end;
end;


 
klerk   (2004-09-30 15:22) [3]

>YurikGL ©
Сделал по-твоему.
Открыто два файла.
А он всё равно пишет в Combobox "Нет".


 
YurikGL ©   (2004-09-30 15:36) [4]


> klerk   (30.09.04 15:22) [3]

Дык это ж запускает новую копию екселя... В ней и нет документов...


 
YurikGL ©   (2004-09-30 15:40) [5]

ExcelApplication1.ConnectKind:=ckRunningInstance;
ExcelApplication1.Connect;
ExcelApplication1.Workbooks.Item[1].Name;
if  ExcelApplication1.Workbooks.Count=0 then
begin
Combobox1.items.add("Íåò îòêðûòûõ.");
combobox1.ItemIndex:=0;
end
else
for I := 1 to ExcelApplication1.Workbooks.Count do
   Combobox1.Items.Add(ExcelApplication1.Workbooks[I].name);
ExcelApplication1.Disconnect;


 
klerk   (2004-09-30 15:50) [6]

ExcelApplication1.ConnectKind:=ckRunningInstance;
ExcelApplication1.Connect;
//ExcelApplication1.Workbooks.Item[1].Name;

if  ExcelApplication1.Workbooks.Count=0 then

       Combobox1.items.add("нет.")

else
       for I := 1 to ExcelApplication1.Workbooks.Count do

               Combobox1.Items.Add(ExcelApplication1.Workbooks[I].name);

Всё равно заносит в combobox одно значение:(
Чего я не понимаю?


 
YurikGL ©   (2004-09-30 15:52) [7]


> klerk   (30.09.04 15:50) [6]

У меня два...На большем количестве не проверял... Может combobox как-то не так настроен?

Использую 2000-е компоненты


 
klerk   (2004-09-30 16:02) [8]

Я использую D5 и его стандартные компоненты.
Переделал всё на Memo.
Результат тот же:(
Добавляет одну строку (Книга1) и всё.


 
YurikGL ©   (2004-09-30 16:22) [9]


> klerk   (30.09.04 15:50) [6]

1) А сколько у тебя ExcelApplication1.Workbooks.Count?
2) Попробуй не две книги, а пять
3) Попробуй книги не с 1-цы а с 0 считать


 
klerk   (2004-09-30 16:29) [10]

1) Showmessage(inttostr(ExcelApplication1.Workbooks.Count)); = 1
2) Попробовал на 6 - то же.
3) Выдаёт : неверный индекс.

:(((((


 
YurikGL ©   (2004-09-30 16:48) [11]


> klerk   (30.09.04 16:29) [10]

Попробуй что-нибудь типа

try
i:=1;
while true do begin
Combobox1.Items.Add(ExcelApplication1.Workbooks[I].name);
inc(i);
              end;
except
end;

Когда дойдет до конца будет исключение...

Хотя извращение это



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

Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.027 c
1-1096880871
}|{yk
2004-10-04 13:07
2004.10.17
CharToOem и Cp866-U


8-1090618909
bulkas
2004-07-24 01:41
2004.10.17
Альфа-канал


3-1095766322
Adnrei
2004-09-21 15:32
2004.10.17
Microsoft SQL Сервер


8-1090581322
suharew
2004-07-23 15:15
2004.10.17
видеоЗахват


1-1096383230
SMT
2004-09-28 18:53
2004.10.17
Литература по работе с Excel из Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский