Для этого достаточно для свойства «Interactive» установить значение Ложь. Это запретит пользователю что-либо делать в запущенном экземпляре приложения. Чтобы приложение во время работы не задавало каких-либо «глупых» вопросов, то для этого достаточно свойству «DisplayAlerts» установить значение «Ложь».
Excel = Новый COMОбъект(«Excel.Application»);
Excel.Interactive = Ложь;
Excel.DisplayAlerts = Ложь;
После окончания, не забудьте установить значение «Истина» обоим свойствам.
Excel.Interactive = Истина;
Excel.DisplayAlerts = Истина;
Иначе, если пользователь успеет открыть какой-либо файл именно в этом экземпляре Excel, то открытые файлы будут недоступны как для редактирования, так и для закрытия. Придётся «убивать» процесс через диспетчер задач.
то что нужно
Полезная информация.
А не знаете, есть ли для WORDa свойство, аналогичное Interactive ?
(2) koka, с WORDом работать не приходилось.
К сожалению не во всех конфигурациях 1С есть «Истина» и «Ложь»…
(4) BorisBelov, не совсем понятна проблема, приведите пример.
(5) видимо речь идёт о «семёрке». Там же нет типа Булево.
(4) BorisBelov, вместо «Истина» и «Ложь» можно использовать 1 и 0 соответственно.
(4) BorisBelov, В Excel можно присвоить булевой переменной числами. Если не ошибаюсь, то ноль — Ложь, а любое другое значение будет Истиной. Поэксперементируйте с «-1», «0», «1».
к сожалению, совет не работает при использовании функции ПоместитьФайл().
До создания Com объекта дело не доходит, ругается при вызове указанной функции.
«при одновременном обращении пользователя и обработки к Excel» — что имеется ввиду под «обращением»?. Если я правильно понял, речь в статье идет о чтении данных из файла Excel? А если обращение производится для записи данных в файл?
(10) SAS99, Как правило, при выгрузке данных в Excel создаётся новый экземпляр и книга Excel. Здесь проблем не возникнет. Но если попытаься открыть уже открытую книгу в другом экземпляре, то тут очевидна ошибка. Вот код проверки:
Показать
Код отсюдаhttp://infostart.ru/public/225624/
Я при тестировании одного механизма загрузки столкнулся с тем, что DisplayAlerts лучше в Ложь не переводить, а то получается ситуация, когда юзера не уведомляет, что файл возможно открыть только на чтение, файл открывается вроде как в режиме редактирования и при этом зависает, а 1С вываливает неизвестную ошибку. А если DisplayAlerts не трогать, то все в норм. Юзер открывает файл только на чтение и 1С это не мешает продолжать загрузку.