Границы таблицы (листа) найдены. Спасибо.

Программирование на Visual Basic for Applications
qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Границы таблицы (листа) найдены. Спасибо.

Сообщение qwertyhp » 22.06.2010 (Вт) 2:32

Читаю из закрытой книги так:
Код: Выделить всё
    Public C1 As Object    ' Приложение
    Public W1 As Object    ' Файл
    Public S1 As Object    ' Лист

    Set C1 = CreateObject("Excel.Application") ' Создаём объект - суть приложение Excel :
    Set W1 = C1.Workbooks.Open(path0 & file)     ' Далее на этой базе задаём (но уже имеющуюся на диске) рабочую книгу :

For k = 1 To C1.Sheets.Count
    Set S1 = W1.Worksheets(k)           ' И, наконец - на базе первого и второго создаём рабочий лист

' Заполняем таблицу данными из закрытой книги в обычном листе :
    For j = 1 To 5
        For i = 1 To 1000 ' вертикальный просмотр листа :
            yyy = S1.Cells(i, j)
            If Trim$(yyy) <> "0" Then
                Sheets("InComing").Cells(i, j) = yyy
            End If
        Next i
    Next j

    Set S1 = Nothing                    ' Лист
Next k


Увы - таблицу приходится читать, не зная заранее её размеры по вертикали и горизонтали - что вызывает лишние циклы. А вот как найти границы таблицы (листа) в ЗАКРЫТОЙ книге - не знаю. Например, для обычного листа последняя строка на листе находится как
Код: Выделить всё
iLastRow& = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row

А вот как то же самое сделать для закрытой книги? Как записать xlUp? Что ни пробывал - не выходит. Может, кто знает?
Спасибо.
Последний раз редактировалось qwertyhp 25.06.2010 (Пт) 1:54, всего редактировалось 2 раз(а).
Пятачок Forever! :)

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение SLIM » 22.06.2010 (Вт) 6:30

Что значит доля закрытой? Книга по любому открывается.

По поводу вычисления границы. Запиши макрос где будешь перемещаться по таблице с помощью горячих клавиш Ctrl+Righr и Ctrl+Down.
Код похож будет на твой. Работать будет точно.
Пишите жизнь на чистовик.....переписать не удастся.....

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение alibek » 22.06.2010 (Вт) 8:15

SLIM писал(а):По поводу вычисления границы. Запиши макрос где будешь перемещаться по таблице с помощью горячих клавиш Ctrl+Righr и Ctrl+Down.
Код похож будет на твой. Работать будет точно.

Работать будет неправильно.
Потому что автору нужно не Sheet.Rows.Count, а Sheet.UsedRange.Rows.Count.
Lasciate ogni speranza, voi ch'entrate.

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение Alec » 22.06.2010 (Вт) 9:37

qwertyhp писал(а):Как записать xlUp?

Вообще xlUp - константа.
Открываешь Excel, VBA, ObjectBrowser и ищешь в нем xlUp.
У меня получилось xlUp=-4162 (&HFFFFEFBE)
Объявляй у себя эту константу и пользуйся...
Код: Выделить всё
Const xlUp = -4162
Иногда лучше вовремя остановиться...
И начать заново!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение alibek » 22.06.2010 (Вт) 9:53

Только использовать надо не xlUp, а xlLastCell.
Lasciate ogni speranza, voi ch'entrate.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение SLIM » 22.06.2010 (Вт) 18:27

alibek писал(а):Работать будет неправильно.
Потому что автору нужно не Sheet.Rows.Count, а Sheet.UsedRange.Rows.Count.

Ему нужен используемый диапазон а не весь. Весь мы и так знаем.
Пишите жизнь на чистовик.....переписать не удастся.....

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение qwertyhp » 23.06.2010 (Ср) 3:38

Боюсь, что задача оказалась несколько хитрее. Запись вида
Код: Выделить всё
iLastRow& = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
не проходит хотя бы уже потому, что никакой ActiveSheet в наличии нет - т.к. делается попытка прочитать файл, не открывая его в Excel (SLIM, говоря о чтении из закрытого файла, я имел ввиду именно это. Естественно, на диске он открывается). Попытка записи
Код: Выделить всё
iLastRow& = Cells(S1.Rows.Count, 1).End(-4162).Row
и аналогичные в различных вариациях (и через константу) успеха не принесли - значение выдаётся либо 1, либо ошибка.
Ага. Запись
Код: Выделить всё
iLastRow& = S1.Rows.Count
выдала значение 65536. Уже лучше))))).
...Нет. Не сдаётся...
Пятачок Forever! :)

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение SLIM » 23.06.2010 (Ср) 6:28

Активируй лист по номеру самого листа.
Я ежедневно обрабатываю порядка 400 файлов таким образом.
Берешь лист (если знаешь какой индекс листа), выделяешь первую используемую ячейку (у меня всегда самая первая), далее Selection.End(xlDown).Select и в Selection.Cell.Row (по-моему) получаешь самую нижнюю ячейку используемого диапазона. То же самое с самой правой.
Посмотрю сегодня скрипт на работе.

qwertyhp писал(а):не проходит хотя бы уже потому, что никакой ActiveSheet в наличии нет - т.к. делается попытка прочитать файл, не открывая его в Excel (SLIM, говоря о чтении из закрытого файла, я имел ввиду именно это. Естественно, на диске он открывается). Попытка записи

Как это нет? А ты откуда собственно запускаешь этот скрипт?
Пишите жизнь на чистовик.....переписать не удастся.....

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение Alec » 23.06.2010 (Ср) 14:08

qwertyhp писал(а):делается попытка прочитать файл, не открывая его в Excel

Интересно, а это что делает?
Код: Выделить всё
    Set C1 = CreateObject("Excel.Application")
    Set W1 = C1.Workbooks.Open(path0 & file)
Иногда лучше вовремя остановиться...
И начать заново!

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение qwertyhp » 23.06.2010 (Ср) 22:02

2 Alex: не открывая в Excel - в смысле не вызывая экспонирования страницы Книги Excel на экране монитора, а также - и визуального интерфейса пользователя упомянутого табличного процессора. Уважаемый Alex. В человеческих языках есть конструкции, которые интерпретируются и воспринимаются правильно даже в тех случаях, когда с точки зрения используемого языка смысл выражения на этом же языке отсутствует. Например, реплика "Да нет, наверное". Если читать то, что написано - то должно происходить зависание))). Если читать то, что что интуитивно понятно - то все в порядке. В контексте обсуждаемой проблемы понятно, что файл открывается - просто визуально для пользователя ничего на экране не происходит.
2 SLIM: ничего заранее о файле не известно: по E-Mail приходит файл, сохраняется в папку, программа периодически сканирует эту папку, если находит там файл(ы) Excel - читает его(их) лист за листом в куда-нибудь (открытый для визуального просмотра файл, массив, etc.) - и прочитав лист, обрабатывает его. Вот в чём дело... и для увеличения скорости считывания желательно знать нижнюю и правую границы предполагаемой таблицы на листе.
Пятачок Forever! :)

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение Alec » 23.06.2010 (Ср) 23:45

По-моему тебе нужно вот это:
Код: Выделить всё
  Const xlLastCell = 11
  MsgBox S1.Cells.SpecialCells(xlLastCell).Row 'номер строки
  MsgBox S1.Cells.SpecialCells(xlLastCell).Column 'номер столбца

Что касается
qwertyhp писал(а):2 Alex: не открывая в Excel - в смысле не вызывая экспонирования страницы Книги Excel на экране монитора, а также - и визуального интерфейса пользователя упомянутого табличного процессора. Уважаемый Alex. В человеческих языках есть конструкции, которые интерпретируются и воспринимаются правильно даже в тех случаях, когда с точки зрения используемого языка смысл выражения на этом же языке отсутствует. Например, реплика "Да нет, наверное". Если читать то, что написано - то должно происходить зависание))). Если читать то, что что интуитивно понятно - то все в порядке. В контексте обсуждаемой проблемы понятно, что файл открывается - просто визуально для пользователя ничего на экране не происходит.

мой вопрос касался как раз того, понимаешь ли ты, что делаешь. В частности:
qwertyhp писал(а):никакой ActiveSheet в наличии нет - т.к. делается попытка прочитать файл, не открывая его в Excel

Независимо от того, показан Excel на экране или нет, при наличии открытой в нем книги, имеющей хотя-бы один видимый (Visible=true) лист, у этой книги есть ActiveSheet, точнее
Код: Выделить всё
W1.ActiveSheet

PS. Примеры кода показаны в контексте объявленных тобой в первом посте переменных.
PPS. Конструкцию
Код: Выделить всё
For k = 1 To C1.Sheets.Count 'кстати, здесь ошибка, наверное W1.Sheets.Count
    Set S1 = W1.Worksheets(k)

' ...
    Set S1 = Nothing
Next k

если тебе не нужно значение k, можно написать:
Код: Выделить всё
For Each S1 In W1.Worksheets
'...
Next S1
Иногда лучше вовремя остановиться...
И начать заново!

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Как найти границы таблицы (листа) в ЗАКРЫТОЙ книге?

Сообщение qwertyhp » 24.06.2010 (Чт) 0:46

2 Alex: Ур-р-ра, заработало ! ! ! ! ! ! !
По поводу ActiveSheet - возможно, я недопонимаю, я знаю...(((; "...кстати, здесь ошибка, наверное W1.Sheets.Count" - согласен с Вами, и работает эта ошибка корректно, вероятно, лишь только потому, что пока в файлах встречалось только по одному листу.
...Сейчас проверил код в реальных условиях, на реальных файлах: КОД ЛЕТАЕТ МУХОЙ!!! Alex, спасибо огромное за помощь! И всем спасибо!
P.S. Я изменил заголовок Темы на утвердительный - для тех, кто ищет решение этой же проблемы.
Пятачок Forever! :)

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение VVitafresh » 24.06.2010 (Чт) 1:10

qwertyhp, прочитал тему полностью, но так и не понял, почему ты акцентируешь внимание на ЗАКРЫТОЙ книге (еще и в заголовке заглавными выделил)?
Какая разница отображается на экране Excel или нет, если обращение к ячейкам, да и вообще работа с объектной моделью Excel производится абсолютно одинаково (видишь ты лист или не видишь -- значения здесь не имеет).
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение qwertyhp » 24.06.2010 (Чт) 13:06

Уважаемый VVitafresh! В нашем мире принято обозначать объекты так, чтобы их можно было отличить от других, в чём-то похожих, объектов. И обозначения эти должны быть разумной длинны и интуитивно понятны. Такова общепринятая практика. Поэтому, если книга Excel не отобраэается на экране - её принято в обиходе называть закрытой. Заглавными буквами - это чтобы сразу бросался в глаза основной предмет рассмотрения.
По поводу общепринятой практики. Скорость света конечна. Свет от Солнца идёт в среднем 8 мин. 15 сек. От Веги (слзвездие Лиры) - 26,4 года. Протяжённость Млечного Пути - около 100 000 световых лет. До галактики в созвездии Андромеды - около 2-х миллионов лет.
Скажите: когда вы видите Туманность Андромеды - вы видите то, что существует сейчас, или то, что отражает существование 2-х миллионолетней давности?
А вот второй вопрос ещё интереснее: а когда вы показываете пальцем на звёзды, и одновременно видите и свою руку (сколько вам лет?) - и то, что было тысячи и тысячи лет назад - вы что - действительно видите реально существующий мир? Вы ухитряетесь видеть и человеческую руку - и звёзды такими и там, какими и где они были, когда человечества на Земле ещё вообще не было!!! То, что вы видите, одновременно никогда не существовало вообще!!! - но вас от этого не плющит и не колбасит. Потому что ваше видение мира привычно, доступно и понятно.
Но видите ли - все остальные объекты - все без исключения! - вы видите в том же режиме, что и далёкий Космос. Различны только рассояния - вот и всё. Принцип же сохраняется. Но вас же это не озадачивает, и вы по-прежнему будете различать реальных людей (ну, как это принято) - и глюки? Или теперь это для Вас вопрос дискуссионный? Наверное, нет. По-старинке общепринято, общепонятно и удобно. А достоверность восприятия картины мира - да и ладно с ней. Ведь верно?
То же самое - и с понятием закрытой книги Excel. Просто есть принятые - для удобства - разговорные и интуитивно понятные построения. Говорят - "две большие разницы" - но не говорят - "две маленькие разницы" - тогда как разница вообще одна. Нет двух разниц.
Из моего заголовка все поняли, о чём шла речь, и помогли - за что им огромное спасибо.
Уважаемые модераторы, извините за некоторый оффтоп.
Кстати, уважаемый VVitafresh! А как бы Вы назвали то, что я назвал "чтением из закрытого файла"? Или, другими словами - переформулируйте мой вопрос так, чтобы он звучал корректно с вашей точки зрения и MS Excel, и влез в заголовок. Если получится - будем использовать вашу семантическую конструкцию.
Пятачок Forever! :)

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение Alec » 24.06.2010 (Чт) 13:30

Исходя из заголовка темы, возникает мысль, что вопрошающий:
1. Не имеет проблем в определении сабжа в ОТКРЫТОЙ книге
2. Знает как работать с файлом книги EXCEL без ее открытия (т.е. без наличия и использования EXCEL)
3. Не знает как п.п. 1 и 2 использовать вместе.
На самом деле все намного проще:
1. Автор НЕ знает как определить нужные границы вообще
2. Автор не знает как работать с файлом EXCEL без использования EXCEL (что, в общем, логично), но при этом не видит разницы в работе с файлом или работе с объектной моделью EXCEL, поэтому акцентирует (CAPS'ом) внимание на "ЗАКРЫТОЙ книге".
По-моему, тема топика должна выглядеть примерно так: "Как определить границы листа EXCEL". Тогда переписка по поводу закрытой книги не появилась бы, длина треда уменьшилась бы в половину, а решение нашлось бы сразу.
Все это ИМХО.
Иногда лучше вовремя остановиться...
И начать заново!

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение VVitafresh » 24.06.2010 (Чт) 13:34

qwertyhp писал(а):...а когда вы показываете пальцем на звёзды, и одновременно видите и свою руку (сколько вам лет?) - и то, что было тысячи и тысячи лет назад - вы что - действительно видите реально существующий мир? ...

qwertyhp, и хватило же терпения написать всю эту тарабарщину :) Подобные изыски для Трепа -- там можно и пофилософствовать.

qwertyhp писал(а):Кстати, уважаемый VVitafresh! А как бы Вы назвали то, что я назвал "чтением из закрытого файла"? Или, другими словами - переформулируйте мой вопрос так, чтобы он звучал корректно с вашей точки зрения и MS Excel, и влез в заголовок. Если получится - будем использовать вашу семантическую конструкцию.

Я вообще не упоминал бы о ЗАКРЫТОЙ книге, закрытом листе, невидимом Excel'e и т.п., т.к. в данном случае видимость/невидимость НЕ ВЛИЯЕТ на решение задачи.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение iGrok » 24.06.2010 (Чт) 13:55

qwertyhp писал(а):В нашем мире...

Демагог detected.
label:
cli
jmp label

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение qwertyhp » 24.06.2010 (Чт) 14:29

2 Alec: назвав тему "Как определить границы листа EXCEL", я бы получил дополнительно решения, не пременимые в моём случае. И получал бы их достаточно долго. Ладно, сформулирую иначе - решения, которые Я бы не сообразил, как применить в моём случае. Мой вопрос был сформулирован некорректно, а вот ваш ответ на него подошёл идеально. Что, собственно, и требовалось. Спасибо.
2 iGrok:
Демагог detected

Изини. Это рассуждения, логика, да-а... А комикс потянешь?
Пятачок Forever! :)

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение iGrok » 24.06.2010 (Чт) 17:45

qwertyhp писал(а):Изини. Это рассуждения, логика, да-а... А комикс потянешь?

Разумеется. Нарисуй. 8)

З.Ы. Это - не логика. Это - демагогия.
Логика - это то, что в постах Alec и VVitafresh. Ознакомьтесь и примите на вооружение. :wink:
label:
cli
jmp label

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение qwertyhp » 24.06.2010 (Чт) 23:05

Вернёмся к Excel. Видите ли - я интуитивно понимаю, что вы правы, усматривая в формулировке моего вопроса слабое знание VB. Конечно, я понимаю, что для получения данных файл открывается так или иначе, хотя - не скрою - полагал, что в разных случаях это делается по-разному. А возможно - и действительно по-разному - за столь короткий срок я ещё не успел обогатиться новыми познаниями в области VB. И вы правы, что для эффективного программирования понимание сущности процессов необходимо.
Но также верно и то, что запрашивающий поддержку человек рассчитывает получить её именно на уровне своего понимания. Вы можете быть совершенно правы в оценке этого уровня как низкого - но либо вы оказываете эту помощь нуждающемуся, либо нет. Как вариант, вы можете оказать эту помощь на уровне понимания вопрошающего - но снабдить её своими комментариями, разъясняющими заблуждения юзера и побуждающего его к более глубокому пониманию процессов. Я, например, просто слабо воспринимаю саму логику VB. В школе я две с половиной четверти не мог понять, что такое "валентность". Меня химичка поднимала, спрашивала определение, ставила "неуд", и на следующем занятии всё повторялось.
И вот однажды я понял, что это такое - "валентность". В итоге в школе по химии у меня было "отлично", в институте - "отлично".
А Илья Муромец до 33-х лет сиднем сидел.
VVitafresh, по поводу терпения писать: пишу я достаточно быстро. И, кстати - почему я стремлюсь читать/писать в файл Excel без открытия активного окна (правильно сказал?))): в поцесе открытия последнего могут возникать ошибки приложения, и если необходимости видеть лист нет, то такой вероятности лучше избегать.
Пятачок Forever! :)

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение iGrok » 24.06.2010 (Чт) 23:41

qwertyhp, ну и чего?
Ты сам признаёшь, что твои знания далеки от идеала - честь и хвала.
Что НЕ делает тебе чести - так это то, что вместо того, чтобы читать, впитывать знания, и задавать нормальные вопросы, ты начинаешь отстаивать свою точку зрения, основанную на неверных представлениях о действительности. Нет, упорство и упрямство - это, определённо, хорошо. Но не стоит после этого удивляться, что каждый считает делом чести ткнуть тебя носом в твои же ошибки - чисто чтобы гонору поубавилось.

Пойми, тут на форуме тебя лично никто не знает, и против тебя лично никто ничего не имеет. Любая критика основывается только и исключительно на том, что ты пишешь. А пишешь ты по большей части в той или иной степени ерунду. Тебе объясняют, что это ерунда. Тебе объясняют, ПОЧЕМУ это ерунда. А в ответ ты пишешь "я так вижу".

Мой тебе дружеский совет, больше читай, меньше (и исключительно по делу) пиши. Время, сэкономленное на письме, трать на чтение. И всем будет легче.

qwertyhp писал(а):в поцесе открытия последнего могут возникать ошибки приложения, и если необходимости видеть лист нет, то такой вероятности лучше избегать.

Это ты где такой совет вычитал?
label:
cli
jmp label

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Границы таблицы (листа) в ЗАКРЫТОЙ книге найдены!

Сообщение Alec » 25.06.2010 (Пт) 0:32

И, чтобы совсем понятно было что происходит при исполнении кода:
1. Попробуй во время работы запустить диспетчер задач. Наличие там Excel'я не наводит на мысли?
2. А еще лучше, после
Код: Выделить всё
Set C1 = CreateObject("Excel.Application")

допиши строку
Код: Выделить всё
C1.Visible = True

PS. А "окнами" в Excel называются совершенно другие объекты.
PPS. Советую все же почитать справку по VBA в EXCEL. Некоторые части кода, использующие объектную модель Excel, лучше отлаживать сначала в VBA, а если возникают вопросы по программному выполнению каких-нибудь действий, очень помогает Запись макросов + изучение полученного кода + справка. Удачи!
Иногда лучше вовремя остановиться...
И начать заново!

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Границы таблицы (листа) найдены. Спасибо.

Сообщение qwertyhp » 25.06.2010 (Пт) 1:45

Наводит. Особенно, когда в процессе выполнения кода возникают ошибки, файлы не выгружается из памяти, и в Диспетчере возникает множество процессов Excel, и их приходится закрывать вручную.
Заголовок исправил. Буду учить матчасть.
Пятачок Forever! :)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

    TopList