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

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

Главная задача удалить папку, но при этом если любой документ открыт получается ошибка и удалить папку не представляется возможным.
...
Рейтинг: 0 / 0
27.12.2005, 13:25:37
    #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
27.12.2005, 13:37:01
    #33459446
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка открытого файла
ИМХО но если файл открыт не вами,то вероятно вам не удастся его удалить
...
Рейтинг: 0 / 0
28.12.2005, 10:39:33
    #33461177
Borya7
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка открытого файла
PluxВопрос в том как проверить это открытие???
Попробуй переименовать папку.
...
Рейтинг: 0 / 0
28.12.2005, 11:04:12
    #33461248
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка открытого файла
Код: plaintext
CloseHandle(fl)
Это совершенно неправильно!
Даже по типу переменной видно, что fl - это стринг, а в функции продекларирован лонг.
:)
И действительно - для функции нужен хендл объекта... а его еще надо получить.
...
Рейтинг: 0 / 0
28.12.2005, 11:08:55
    #33461263
Letter_D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка открытого файла
Тьфу, главное забыл - эта функция вообще не для файлов, а для работы с потоками и процессами, вроде бы она закрывает манипулятор.
...
Рейтинг: 0 / 0
28.12.2005, 22:11:35
    #33463143
Borya7
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка открытого файла
Letter_DТьфу, главное забыл - эта функция вообще не для файлов, а для работы с потоками и процессами, вроде бы она закрывает манипулятор.
Пи@дец!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка открытого файла / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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