Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2019, 20:27   #1
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию getobject как узнать размер?

добрый день!

передаю в объект лист эксель из файла. размеры листа не знаю, сам файл закрыт.

каким образом мне было бы предпочтительнее понять размер объекта? - вопрос


p.s. что-то долго уже думаю.. мне кажется, могло бы быть простое решение, но не могу его найти.

Последний раз редактировалось peq; 08.04.2019 в 20:32.
peq вне форума Ответить с цитированием
Старый 08.04.2019, 20:33   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

FileLen(pathname) ?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 08.04.2019, 20:42   #3
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

по pathname находится файл с таблицей excel.
я ее передаю в getobject
> set aaa = getobject(pathname)
но мне бы хотелось понять какие линейные размеры у переданной таблицы(количество строк и столбцов)

//filelen, если я правильно понял, выдает длину файла в байтах, мне кажется, это не совсем то, что я бы хотел получить
peq вне форума Ответить с цитированием
Старый 08.04.2019, 20:44   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Вообще размер листа обычно известен по формату файла (а вдруг там csv, а версия Экселя не указана...) , если нужны точные данные сколько там строк и столбцов - см. MSDN, я помню приблизительно
Но скорее всего Вы хотели сказать что-то другое?
P.S. Вообще в общем случае задача не простая... Просто узнать первую и последнюю заполненные ячейки:
Код:
Sub tt()
    Dim x As Range   'первая ячейка
    Dim y As Range   'последняя ячейка

    Set y = Cells.Find("*", [A1], , , xlByRows, xlPrevious)
    Set x = Cells.Find("*", y, , , xlByRows, xlNext)

    MsgBox x.Address(0, 0) & " - " & y.Address(0, 0)

End Sub
но если точно известно какого вида всегда в файлах таблицы - задача упрощается.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 08.04.2019 в 21:01.
Hugo121 вне форума Ответить с цитированием
Старый 08.04.2019, 21:04   #5
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

да, я имел в виду количество заполненных столбцов и строк. можно на примере первой строки или столбца (по аналогии с end(xlup).row или end(xltoleft).column)

sorry, если пишу непонятно, сейчас у меня вечер, немного устал

тип файлов на входе xlsx
peq вне форума Ответить с цитированием
Старый 08.04.2019, 21:26   #6
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

Hugo121

Спасибо, я посмотрел.. подумал.. оказывается стандартный способ работает.. у меня так получилось.

Спасибо!

Код:
Sub aa1()

pathname = "C:\111.xlsx"
Set obj = GetObject(pathname)
x = obj.Sheets("Лист1").Range("A50000").End(xlUp).Row
y = obj.Sheets("Лист1").Range("AAA1").End(xlToLeft).Column
MsgBox x & " " & y

End Sub

прим:
>но если точно известно какого вида всегда в файлах таблицы
начало фиксировано(условно А1), известен столбец с идентификатором(риск нарваться на пустые значения и провалиться внутрь таблицы отсутствует)

Последний раз редактировалось peq; 09.04.2019 в 09:43.
peq вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать размер файла на FTP FaTaL C# (си шарп) 13 07.11.2013 16:25
узнать размер файла Артэс Общие вопросы C/C++ 4 31.05.2010 14:30
Как узнать размер изображения Lokos Мультимедиа в Delphi 3 21.12.2009 16:44
узнать размер картинки cooperOk JavaScript, Ajax 6 15.11.2009 15:36
Как узнать размер массива мандарин Общие вопросы Delphi 2 30.05.2007 19:18