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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 12:09   #1
Lubocka
Пользователь
 
Регистрация: 02.02.2010
Сообщений: 11
По умолчанию Количество открытых книг

Когда я открываю или создаю книги вручную то
Application.Workbooks.Count дает правильное количество кних
Когда я создаю книги из другой программы с помощью VBA (например Access) созданные программно книги не учитывает или засчитывает как 1
Lubocka вне форума Ответить с цитированием
Старый 29.11.2011, 12:20   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
созданные программно книги не учитывает
Вывод мягко говоря опрометчивый.
Вы (видимо) создаете не только книги но и новое приложение. таким образом у Вас в системе работают два экземпляра Эксель, у каждого свое количество открытых книг.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 29.11.2011, 12:30   #3
Lubocka
Пользователь
 
Регистрация: 02.02.2010
Сообщений: 11
По умолчанию

Возможно, ну а как сделать чтоб экзеспляр Экселя был один, или как ходить по этим экземплярам. Визуально то все видится одним экземпляром.
Lubocka вне форума Ответить с цитированием
Старый 29.11.2011, 12:56   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Нужно переделывать код в том приложении, которое генерит этот файл.
Например вот пример
Сохраните этот текст как name.vbs и запустите:

Код:
Dim objExcel

ActivateExcel

objExcel.Workbooks.Add

Private Function ActivateExcel()
On Error resume next 
Set objExcel = GetObject(, "Excel.Application")
If objExcel Is Nothing Then
   Set objExcel = CreateObject("Excel.Application")
   objExcel.Visible = True
End If
End Function
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 29.11.2011, 15:50   #5
Lubocka
Пользователь
 
Регистрация: 02.02.2010
Сообщений: 11
По умолчанию

Спасибо, помогло
Lubocka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение данных из множества закрытых книг книг hardkain Microsoft Office Excel 1 27.09.2011 20:18
Необходимо скопировать 1 лист из одной книги в большое количество других книг Nick-1984 Microsoft Office Excel 4 13.09.2011 10:56
количество имен открытых файлов Пользователь1 Microsoft Office Excel 1 24.04.2011 08:53
Количество книг в папке Palomnik1096 Microsoft Office Excel 13 12.04.2011 14:58
открытие нескольких книг одним макросом и закрытие книг другим макросом kursant95 Microsoft Office Excel 6 27.01.2011 16:54