Имя: Пароль:
1C
1С v8
Заблокировать xls-файл
0 prg2010
 
12.09.11
16:46
Есть обработка, которая пишет данные в xls-файл.
Обработку чаще всего будет запускать только один пользователь, но возможна ситуация, что ее запустят два пользователя, причем одновременно. Из-за этого в файл могут записаться несогласованные данные.
Можно ли как-то накладывать блокировку на xls-файл, когда обработку запускает первый пользователь, чтобы если файл заблокирован больше одновременно никто не мог запустить обработку?
1 Рэйв
 
12.09.11
16:47
(0)Двое? Одновременно?  В один файл?

Прям какая то навророченная субд:)

Файл вроде и так блокируется
2 Tatitutu
 
12.09.11
16:48
можно
3 prg2010
 
12.09.11
16:48
если сам заблокируется, тогда нет проблем - я просто не знаю, точно ли он сам заблокируется?
4 prg2010
 
12.09.11
16:49
(2) а как?
5 Рэйв
 
12.09.11
16:49
(3)А попробовать перед тем как постить на мисту- не судьба?
6 prg2010
 
12.09.11
16:50
(5) ну так на мисте спросить то проще))))))))
7 НЕА123
 
12.09.11
16:52
(0)
Сервис->Доступ к книге...
?
8 prg2010
 
12.09.11
16:53
(7) нужно программно...
9 asady
 
12.09.11
16:55
Excel Developer Reference
Workbook.ChangeFileAccess Method
Changes the access permissions for the workbook. This may require an updated version to be loaded from the disk.
Syntax

expression.ChangeFileAccess(Mode, WritePassword, Notify)

expression   A variable that represents a Workbook object.

Parameters

Name Required/Optional Data Type Description
Mode Required XlFileAccess Specifies the new access mode.
WritePassword Optional Variant Specifies the write-reserved password if the file is write reserved and Mode is xlReadWrite. Ignored if there's no password for the file or if Mode is xlReadOnly.
Notify Optional Variant True (or omitted) to notify the user if the file cannot be immediately accessed.

Remarks


If you have a file open in read-only mode, you don't have exclusive access to the file. If you change a file from read-only to read/write, Microsoft Excel must load a new copy of the file to ensure that no changes were made while you had the file open as read-only.


Example


This example sets the active workbook to read-only.

Visual Basic for Applications
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
10 prg2010
 
12.09.11
16:56
(9) спасибо, вроде это то что нужно!
11 План счетов
 
12.09.11
16:59
В нетленке, почти такая же ситуация. завел строковую константу "Доступ закрыт". При запуске обработки проверяется если константа пустая, то доступ к изменению файла разрешен, и в константу пишется имя пользователя, если константа не пуста то ему выходит сообщение "Изменения запрещены, .... используется" и пишет имя пользователя, кто занял. В этом случае доступ к файлу открыт только для чтения. записать в файл нельзя, кнопка записи не доступна.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс