
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[13.58.67.129] |
![]() |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
мне все равно, где файл открывается...
дело в том, что моя программа просто должна обновлять данные в каком-то файле (вып. процедуры RefreshAll для сводной таблицы) и не важно, где он лежит (путь указывается в качестве параметра) Я это делаю через ексель. Т.е. я его сначала открываю в скрытом виде (visible:=false), а потом начинаю сканить все книги, листы и сводные таблицы, а потом сохраняю. Если файл уже кем-то занят, то невидимый ексель выдает невидимое собщение с предложением сохранить этот файл под другим именем (все свойства типа DisplayAlerts, AlertBeforeOverwriting равны false, но он все равно продолжает показывать эти сообщения) и получается, что программа зависла (для юзера), хотя она просто ждет, когда же этот юзер наконец нажмет на невидимый ОК. Поэтому я проверяю его свойство ReadOnly, если оно true, значит оно кем-то открыто (не обязат. Может просто иметь такое св-во)... Я думаю, самы лучший вариант, это предложение filh+Voice if FileOpen('e:\1.xls', fmShareExclusive)>=0 then if FileExists('e:\1.xls') then обрабатываем...... |
Сообщ.
#17
,
|
|
|
Цитата n0wheremany, 30.12.03, 07:54 if StrPas(buff)='Microsoft Excel - '+NameFile then result:=true; Берешся гарантировать, что во всех случаях и версиях Excel заголовок будет иметь такой же вид? |