Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как узнать объем файла?  (Прочитано 17749 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mefody
Сумасшедший программист
Участник

ru
Offline Offline
Пол: Мужской

« : 29-03-2007 13:25 » 

Вопрос. Как из Excel получить доступ к каталогу и посчитать суммарный объем файлов в этом каталоге? Или хотя бы получить доступ к файлу и узнать его объем?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 29-03-2007 13:48 » 

попробуй раскрутить вот это
Код:
Sub ShowFileList(folderspec)
    Dim fs, f, f1, fc, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderspec)
    Set fc = f.Files
    For Each f1 in fc
        s = s & f1.name
        s = s &  vbCrLf
    Next
    MsgBox s
End Sub

Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Mefody
Сумасшедший программист
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 30-03-2007 07:58 » 

Попробовал. В результате я получаю список файлов, но это не совсем то, что нужно. Я торопился, и нечетко сформулировал задачу. Более точно задача ставится так.
Есть файл Excel, который лежит в неком (текущем) каталоге, а в нем есть таблица, содержащая имена файлов. Все файлы из этой таблицы лежат в этом же каталоге, но в нем есть так же и другие файлы. Требуется взять имя файла из таблицы, найти его в текущем каталоге, получить доступ к его свойствам, и узнать его объем. Перебрать так все файлы из таблицы. Сделать все это нужно в макросе в Excel.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 30-03-2007 08:14 » 

По этому поводу хелп говорит
Код:
Syntax

object.Size

The object is always a File or Folder object.

Remarks

The following code illustrates the use of the Size property with a Folder object:

Sub ShowFolderSize(filespec)
    Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(filespec)
    s = UCase(f.Name) & " uses " & f.size & " bytes."
    MsgBox s, 0, "Folder Size Info"
End Sub

Ведь я тебе показал куда копать, даже инструмент в руки дал

и... в каждом (почти) топике этого раздела написано как начать писать макрос
Макрос-записать-сделать действия-остановить
А дальше самое простое - раскрутить самостоятельно
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Tuborg
Команда клуба

ee
Offline Offline

« Ответ #4 : 30-03-2007 11:39 » 

Объём файла  Внимание! Говорит и показывает... = File.GetLength() * File.GetHeight() * File.GetWidth();

с наступающим  Ку-ку! Отлично
Записан
Mefody
Сумасшедший программист
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 30-03-2007 12:02 » 

Sla, спасибо. Это уже то, что нужно. Макросы я часто сам так же создаю - сначала делаю, а потом редактирую программу, но в данном случае делать-то вроде нечего  Улыбаюсь, а макрос писать надо. Командами из Excel это не сделаешь, только программным путем.

Добавлено через 2 дня, 20 часов, 24 минуты и 58 секунд:
Tuborg, а как найти площадь Ленина?  Жжешь
« Последнее редактирование: 02-04-2007 08:27 от Mefody » Записан
login8
Гость
« Ответ #6 : 13-05-2012 12:00 » 

Подскажите как узнать обьем файла в php с точностью до байта Улыбаюсь
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 13-05-2012 19:27 » new

login8, какое отношение у VBA с PHP?

Ответ по вопросу: мануал читай!
http://ru.php.net/manual/en/function.filesize.php
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines