powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / открыт ли документ
12 сообщений из 12, страница 1 из 1
открыт ли документ
    #39368868
Алексаша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ms office 2010
vba word

Здравствуйте. Как в vba word узнать открыт ли документ с указанным именем?

Спасибо ...
...
Рейтинг: 0 / 0
открыт ли документ
    #39368966
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Открыт вообще или открыт в Ворде, или открыт в Ворде на этой копии ОС, или открыт в этой копии Ворда?
Лаконичность чаще зло, чем благо.
...
Рейтинг: 0 / 0
открыт ли документ
    #39368977
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй открыть файл с правами на запись. Не откроется - значит открыт где-то еще.
...
Рейтинг: 0 / 0
открыт ли документ
    #39369257
Алексаша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Мне нужно открыть файл в ворде для изменений. Мне нужно узнать открыт ли этот файл уже в ворде.
...
Рейтинг: 0 / 0
открыт ли документ
    #39369272
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не найдёшь его в коллекции Documents - значит не открыт.
...
Рейтинг: 0 / 0
открыт ли документ
    #39369342
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Dimitry SibiryakovЕсли не найдёшь его в коллекции Documents - значит не открыт. но он может быть открыт в оупеноффисе, например.
...
Рейтинг: 0 / 0
открыт ли документ
    #39369380
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексашаМне нужно открыть файл в ворде для изменений. Мне нужно узнать открыт ли этот файл уже в ворде.
как уже сказали открыт он может быть где угодно. Просто открой как файл, если открылся, открывай в ворде.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
f = fopen("c:\...\my_file.docx", "r+");
if(f != NULL) {
   fclose(f);
   тут открывай в ворде
} else {
  уже открыт или не сущестует
}
...
Рейтинг: 0 / 0
открыт ли документ
    #39369400
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну чё за пурга? да запросто он может быть открыт где-то, причём даже и на запись, и при этом распрекрасно открываться на запись из других программ, включая самописные!

Есть только один вменяемый способ определить факт открытия - это обращение к дисковой подсистеме той копии ОС, в чьей файловой системе физически располагается этот файл. С вопросом, а нет ли на этот файл незакрытых хэндлов, а если есть, то каких именно. Но способ этот - в реализации весьма нетривиальный...
...
Рейтинг: 0 / 0
открыт ли документ
    #39369404
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaНу чё за пурга? да запросто он может быть открыт где-то, причём даже и на запись, и при этом распрекрасно открываться на запись из других программ, включая самописные!
конкретно тот код который я написал 20016578 возможно не сработает, но для конктретного ЯП недолго подобрать флаги открытия при которых не откроется файл открытый вордом.
AkinaЕсть только один вменяемый способ определить факт открытия - это обращение к дисковой подсистеме той копии ОС, в чьей файловой системе физически располагается этот файл. С вопросом, а нет ли на этот файл незакрытых хэндлов, а если есть, то каких именно. Но способ этот - в реализации весьма нетривиальный...
Ну чё за пурга? Открой монопольно, не откроется - где-то уже открыт.
...
Рейтинг: 0 / 0
открыт ли документ
    #39369436
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TОткрой монопольно, не откроется - где-то уже открыт.Если он открыт в RO Compatibe mode при oplock level 2 или 3 - откроется запросто.
...
Рейтинг: 0 / 0
открыт ли документ
    #39369479
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaDima TОткрой монопольно, не откроется - где-то уже открыт.Если он открыт в RO Compatibe mode при oplock level 2 или 3 - откроется запросто.
Не откроется
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx dwDesiredAccess
...

0 Prevents other processes from opening a file or device if they request delete, read, or write access.
...
Рейтинг: 0 / 0
открыт ли документ
    #39369480
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чуть промахнулся при копировании, параметр dwShareMode
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / открыт ли документ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]