Получить доступ к файлам xls не открывая их

Программирование на Visual Basic for Applications
hunumununukanuka
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 13.06.2006 (Вт) 9:33

Получить доступ к файлам xls не открывая их

Сообщение hunumununukanuka » 23.02.2007 (Пт) 6:39

Можно ли из xls файла получить доступ к другим Excel файлам без использования метода Open. Причина: у тех файлах на Open открываются формы, которые не должны открываться при доступе из другого файла. Мне надо из тех файлов копировать инфу.

Заранее спасибо

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.02.2007 (Пт) 6:59

Придёт Рей - как он обрадуется столь полному названию темы :)

На.
http://bbs.vbstreets.ru/viewtopic.php?t=8620
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

hunumununukanuka
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 13.06.2006 (Вт) 9:33

Сообщение hunumununukanuka » 23.02.2007 (Пт) 7:13

тут дело несколько в другом, там 3 файла с n кол. листов, из которых мне надо сделатать 1 большой список в один файл, сохраняя форматы.
Можно ли как-нибудь по другому организовать?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.02.2007 (Пт) 7:19

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 23.02.2007 (Пт) 10:37

Привет,
KL

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.02.2007 (Пт) 11:25

С сохранением форматирования?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

KL
Microsoft MVP
 
Сообщения: 483
Зарегистрирован: 30.10.2005 (Вс) 0:31
Откуда: Madrid

Сообщение KL » 23.02.2007 (Пт) 19:55

Упс, про форматирование не заметил.

В любом случае "...у тех файлах на Open открываются формы..." - это не причина для неиспользования метода Open (другое дело, что есть намного более веские, но раз нужны форматы...). Все события можно убить одним простым

Код: Выделить всё
Application.EnableEvents=False
     Workbooks.Open "c:\Book1.xls"
Application.EnableEvents=True


или так если у тебя XL2002 или новее:

Код: Выделить всё
Application.AutomationSecurity = msoAutomationSecurityForceDisable
     Workbooks.Open "c:\Book1.xls"
Application.AutomationSecurity = secAutomation


http://support.microsoft.com/kb/317405/en-us
http://support.microsoft.com/kb/825939/en-us
Привет,
KL

hunumununukanuka
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 13.06.2006 (Вт) 9:33

Сообщение hunumununukanuka » 24.02.2007 (Сб) 7:14

KL писал(а):Упс, про форматирование не заметил.

В любом случае "...у тех файлах на Open открываются формы..." - это не причина для неиспользования метода Open (другое дело, что есть намного более веские, но раз нужны форматы...). Все события можно убить одним простым

Код: Выделить всё
Application.EnableEvents=False
     Workbooks.Open "c:\Book1.xls"
Application.EnableEvents=True


или так если у тебя XL2002 или новее:

Код: Выделить всё
Application.AutomationSecurity = msoAutomationSecurityForceDisable
     Workbooks.Open "c:\Book1.xls"
Application.AutomationSecurity = secAutomation


http://support.microsoft.com/kb/317405/en-us
http://support.microsoft.com/kb/825939/en-us


Спасибо

hunumununukanuka
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 13.06.2006 (Вт) 9:33

Сообщение hunumununukanuka » 24.02.2007 (Сб) 7:56

...
dim ExcelApp, ExcelB As Object

Set ExcelApp = CreateObject("Excel.Application")

Application.EnableEvents = False

Set ExcelB = ExcelApp.Workbooks.Open(filename)

Application.EnableEvents = True
...

Все равно не работает, т.е при открытии книги выскакивает форма. Кстати форма появляется на событие Open.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 24.02.2007 (Сб) 12:08

hunumununukanuka писал(а):Все равно не работает, т.е при открытии книги выскакивает форма. Кстати форма появляется на событие Open.


Не пробовал, но похоже тебе пытались сказать про это:

Код: Выделить всё
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.EnableEvents = False
Set ExcelB = ExcelApp.Workbooks.Open(filename)

.... Тут делаешь свое черное дело

ExcelApp.EnableEvents = True
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в VBA

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

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

    TopList