Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Открыть книгу как невидимую Добавлено: 11.02.08 14:03  

Автор вопроса:  Jasmin
Привет !

Есть книга. В ней выполняется макрос. В процессе выполнения нужно последовательно открыть несколько файлов, взять данные в текущую книгу и закрыть эти файлы.

В главной книге на форме отображается процесс выполнения через прогресс бар.

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

Пробовала через Application.Visible. Это не то. Мне нужно чтобы видет был процесс выполнения.

Сейчас использую Application.ScreenUpdating. Может можно по другому.

Спасибо.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #1 Добавлено: 11.02.08 21:51
через создание объектов!
'пример позднего связывания
Dim xlApp As Object ' объявляем объект для приложения
Dim xlBook As Object ' объявляем объект для книги
Dim xlSheet As Object ' объявляем объект для листа с данными
.....
xlApp = CreateObject("Excel.Application";) ' создаём объект Екселя
xlBook = xlApp.Workbooks.Open(Filename:=ПутьИмяФайла, ReadOnly:=True) ' открываем книгу только для чтения (загружается в оперативку, см. ДиспетчерЗадач)
xlSheet = xlBook.Worksheets(1) ' назначаем переменной лист с данными (первый), ну иль по имени(как хочешь!)
Debug.Print xlSheet.Cells(2,3) ' считываем данные
.....
xlApp = Nothing, xlBook = Nothing, xlSheet = Nothing ' не забываем освободить память(сбрасываем объекты)

'пример раннего связывания
Dim xlApp As Excel.Application ' объявляем объект для приложения
Dim xlBook As Workbook ' объявляем объект для книги
Dim xlSheet As Sheet ' объявляем объект для листа с данными
.....
xlApp = New Excel.Application ' создаём объект Екселя
xlBook = xlApp.Workbooks.Open(Filename:=ПутьИмяФайла, ReadOnly:=True) ' открываем книгу только для чтения (загружается в оперативку, см. ДиспетчерЗадач)
xlSheet = xlBook.Worksheets(1) ' назначаем переменной лист с данными (первый), ну иль по имени(как хочешь!)
Debug.Print xlSheet.Cells(2,3) ' считываем данные
.....
xlApp = Nothing, xlBook = Nothing, xlSheet = Nothing ' не забываем освободить память(сбрасываем объекты)

Ответить

Номер ответа: 2
Автор ответа:
 bi-lya



Вопросов: 1
Ответов: 125
 Профиль | | #2 Добавлено: 12.02.08 03:07
Если данные берутся из других книг Ехсел, может, вообще брать данные, не открывая эти книги? Как это делать - недавно была тема в этом форуме
:)

Ответить

Номер ответа: 3
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #3 Добавлено: 12.02.08 03:30
не открывая эти книги?

уверен?

Ответить

Номер ответа: 4
Автор ответа:
 bi-lya



Вопросов: 1
Ответов: 125
 Профиль | | #4 Добавлено: 12.02.08 12:58
А в чем проблема?

Ответить

Номер ответа: 5
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #5 Добавлено: 12.02.08 15:28
night-roll: Попробую Ваш вариант.

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

Ответить

Номер ответа: 6
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #6 Добавлено: 07.03.08 10:14
Не Application.Visible=False, а типа ActiveWindow.Visible=False

Ответить

Номер ответа: 7
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #7 Добавлено: 07.03.08 10:14
Не Application.Visible=False, а типа ActiveWindow.Visible=False

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам