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

Вниз

Найти открыт ли рабочий лист Excel   Найти похожие ветки 

 
Сергей Непочатов   (2003-09-15 10:38) [0]

Приложение на Delphi7, вывожу отчет в Excel, юзер чего-то там делает, возвращается в приложение и пытается обновить данные в отчете, а он уже может быть закрыт. Как мне определить, запущен ли Excel и открыт ли в нем мой рабочий лист?


 
zaporshivets   (2003-09-15 11:25) [1]


try
ea := GetActiveOLEObject("excel.application");

по всем книгам ищещь твою по имени или по ранее сохраненному интерфейсу на нее.
// открыта книга
except
// Не открыт
end;


 
Сергей Непочатов   (2003-09-15 14:07) [2]

А нельзя ли поподробнее?


 
zaporshivets   (2003-09-16 10:39) [3]

Что именно подробнее? Ты лучше подробнее скажи через позднее связывание работаешь или через раннее.
Через ранее
var
iWb : Excel2000._Workbook;

for i:=1 to ExcelApp.Workbooks.Count do
begin
IWb := ExcelApp.Workbooks[i];
if IWb.Name = "ТВОЕ НУЖНОЕ ИМЯ" then КНИГА ОТКРЫТА
end;


 
Сергей Непочатов   (2003-09-17 10:08) [4]

Использую ранне связывание.
Я, в общем то, так и делал, как Вы написали, но следующая проблема возникает. Если юзер случайно закроет отчет, а потом снова его откроет, то код определит, что файл открыт, а интерфейс не существует - выдаст ошибку, юзер решит, что программа работает плохо.

Уточню вопрос, как определить, что открыт файл, на который указывает интерфейс?
vWB := ExcelApplication.Workbooks.Add(ExtractFilePath(ParamStr(0)) + "nnn.xls",0);
vWS := vWB.Worksheets[1] as _Worksheet;



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
1-96239
Шишкин Илья
2003-09-17 15:39
2003.09.29
Помогите написать функцию


14-96447
Igor__
2003-09-08 21:05
2003.09.29
Проблемы с ХР


1-96276
Сергей Непочатов
2003-09-15 10:38
2003.09.29
Найти открыт ли рабочий лист Excel


14-96384
Freeek
2003-09-11 17:47
2003.09.29
GPRS


1-96265
aldapooh
2003-09-17 12:09
2003.09.29
Single Instance