![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прочитать екселевский файл, открытый из Excel [D7, XP]
Ega23 © (2008-02-12 17:20:00)Есть workbook. В данный момент открыт Excel-ем.
Нужно прочитать из этого файла 4 байта по определённому смещению.
Читаю через TFileStream(FileName, fmOpenRead, fmShareCompat)
Если я первый начал читать, то Excel потом свободно файл открывает.
Если он изначально был открыт Excel'ем - то exception.
Где-то видел статью по этому поводу, но где - не помню. Поиск с ходу результатов не дал.
Ega23 (2008-02-12 18:02:00) [1]
> что это за шаремод такой fmShareCompat
Обшибся. Конечно fmShareDenyNone
jack128_ (2008-02-12 18:01:00) [2]Файл открыт в экселе:
TFileStream.Create('D:\1.xls', fmOpenRead or fmShareDenyNone).Free; - исключений не выдает... Так что.. (Excel XP)
Вообще - что это за шаремод такой fmShareCompat ?? в исхадниках написано - что он вообще для совместимости с досом оставлен..
Ega23 (2008-02-12 18:01:00) [3]
> CreateFile(... FILE_SHARE_READ or FILE_SHARE_WRITE ...)
> по идее, также mShareDenyNone должен работать
Как раз пробовать начал...
ANB (2008-02-12 17:49:00) [4]
> AFAIR, ёксель должен открыть файл в r/o режиме
Не, если он монопольно файл не хавает, то по любому можно открыть для чтения, отказавшись от всех блокировок.
ЗЫ. Делфи под рукой нету, уже попробовал бы и подобрал.
clickmaker (2008-02-12 17:41:00) [5]CreateFile(... FILE_SHARE_READ or FILE_SHARE_WRITE ...)
по идее, также mShareDenyNone должен работать
Dennis I. Komarov (2008-02-12 17:38:00) [6]Открываю файл экселем, затем могу смотреть его view-ером (по F3 в TC)
???????
ketmar (2008-02-12 17:32:00) [7]AFAIR, ёксель должен открыть файл в r/o режиме. попросить его «подвинуться» — никак?
---
Understanding is not required. Only obedience.
ANB (2008-02-12 17:31:00) [8]
> Если он изначально был открыт Excel'ем
Если эксель выставит монопольную блокировку, то фиг ты этот файл прочитаешь. Этого даже фар не умеет.