powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка открытого файла
9 сообщений из 9, страница 1 из 1
Проверка открытого файла
    #33459010
Plux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте все!!!

Подскажите пожалуйста, есть такая поблема, нужно проверить открыт ли хоть один файл в конкретной папке или нет, при этом если открыт, то закрыть его.
После чего удаляется эта папка. Вопрос в том как проверить это открытие???
...
Рейтинг: 0 / 0
Проверка открытого файла
    #33459261
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проверка открытого файла
    #33459303
Plux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вся проблема в том, что в папке может быть несколько разных документов, при этом это может быть как *.doc, так и *.xls, или еще отсканированный документ. Т.е. получается что не известно сколько в папке документов и как они называются.

Главная задача удалить папку, но при этом если любой документ открыт получается ошибка и удалить папку не представляется возможным.
...
Рейтинг: 0 / 0
Проверка открытого файла
    #33459407
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на вскидку

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Dim fso As new Scripting.FileSystemObject
Public Declare Function CloseHandle Lib "kernel32" Alias "CloseHandle" (ByVal hObject As Long) As Long

'отрубаем обработчик ошибок
on error resume next

'проверяем наличие папки
if fso.FolderExists ("D:\1") then
  'пробуем закрыть и удалить файлы
  for each fl in fso.GetFolder("D:\1").Files
     'получаем название файла и пытаемся удалить
     fl.Delete
     If err.Number <>  0  then
        CloseHandle(fl)
     endif

      fl.delete
      err.number =  0 
  next
endif

on error goto EH
fso.DeleteFolder("D:\1",True)


вероятно так, но .....
с апишной ф-цией вообще не работал :-(
...
Рейтинг: 0 / 0
Проверка открытого файла
    #33459446
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО но если файл открыт не вами,то вероятно вам не удастся его удалить
...
Рейтинг: 0 / 0
Проверка открытого файла
    #33461177
Borya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PluxВопрос в том как проверить это открытие???
Попробуй переименовать папку.
...
Рейтинг: 0 / 0
Проверка открытого файла
    #33461248
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
CloseHandle(fl)
Это совершенно неправильно!
Даже по типу переменной видно, что fl - это стринг, а в функции продекларирован лонг.
:)
И действительно - для функции нужен хендл объекта... а его еще надо получить.
...
Рейтинг: 0 / 0
Проверка открытого файла
    #33461263
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, главное забыл - эта функция вообще не для файлов, а для работы с потоками и процессами, вроде бы она закрывает манипулятор.
...
Рейтинг: 0 / 0
Проверка открытого файла
    #33463143
Borya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Letter_DТьфу, главное забыл - эта функция вообще не для файлов, а для работы с потоками и процессами, вроде бы она закрывает манипулятор.
Пи@дец!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка открытого файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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