Win7, Gal 9.1
Столкнулся с такой проблемой, с некоторого времени, при формировании Excel отчета (пользовательские отчеты), не переходит фокус на окно Excel и пользователь думает что отчет завис.
Т.е, допустим в отчете есть интерфейс в нем заполняем параметры и нажимаем кнопку сформировать, дальше ни чего не трогаем. Где-то сзади галактики откроется поле привычное о замене уже сформированного отчета в котором надо нажать да/нет и тогда откроется сам ecel, но проблема в том что это окно позади галактики ...(((
чтобы такое сделать .. пробовал параметры xlDisplayAlerts но успеха не добился, было бы вообще замечательно если бы файл все время затирался без вопроса. но как этого добиться не знать.. хелп??
Потеря фокуса при формировании Excel отчетов
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Потеря фокуса при формировании Excel отчетов
Время ведет!
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: Потеря фокуса при формировании Excel отчетов
А кто мешает сначала делать DeleteFile, а потом формировать c нуля новый?Masygreen писал(а): было бы вообще замечательно если бы файл все время затирался без вопроса. но как этого добиться не знать.. хелп??
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Потеря фокуса при формировании Excel отчетов
вариант )Maverick писал(а):А кто мешает сначала делать DeleteFile, а потом формировать c нуля новый?Masygreen писал(а): было бы вообще замечательно если бы файл все время затирался без вопроса. но как этого добиться не знать.. хелп??
Время ведет!
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Потеря фокуса при формировании Excel отчетов
я в своем наборе функций зацикливаю deletefile до 20 итераций - дабы если файл уже открыт сформировать в новый.
Код: Выделить всё
if FileExist(aFileName)
{
if not DeleteFile(aFileName)
{ do
{ akolfile:=akolfile+1 ;
if akolfile>20 then
{ akolfile:=0 ;
breakl
}
aFileName1:=substr(aFileName,1,pos('.',aFileName)-1)+'d'+string(akolfile)+'.xls';
if FileExist(aFileName1)
{ DeleteFile(aFileName1)
}
} while fileexist(aFileName1)
if akolfile=0
{ message('Ошибка при удалении файла '+chr(13)+wnmfile+
chr(13)+'возможно он открыт другой программой') ;
exit ;
}
else aFileName:=aFileName1 ;
}
}