Как программно сделать книгу Excel отображаемой

Программирование на Visual Basic for Applications
ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Как программно сделать книгу Excel отображаемой

Сообщение ger_kar » 01.11.2011 (Вт) 13:54

Столкнулся на мой взгляд с пустячной проблемой, но сам решить так и не смог сию задачу, поиск тоже к успеху не привел.
А проблема в следующем, после обработки кода проекта VBA в книге Excel (программа обработчик на VB6) и последующего сохранения книги, она почему-то становиться скрытой. При последующем открытии ее в Excel она не отображается. Вручную сделать ее отображаемой можно через
Окно > Отобразить и выбора соответствующей книги. Но мне эту проблему нужно решить на программном уровне. Либо сохранять по другому, что-бы она оставалась видимой, либо делать ее видимой принудительно. Весь вопрос как это сделать? Вроде все свойства Workbook просмотрел, ничего подходящего не нашел. Истина где то, ну прям совсем рядом, но я ее не вижу.
Сохраняется книга посредством Workbook.Save
Бороться и искать, найти и перепрятать

Димитрий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 194
Зарегистрирован: 26.01.2005 (Ср) 22:47
Откуда: Волгоград

Re: Как программно сделать книгу Excel отображаемой

Сообщение Димитрий » 02.11.2011 (Ср) 7:22

Windows("Книга1").Visible = True не подходит?
Иногда пользуюсь для скрытия книги - ThisWorkbook.IsAddin = True , но так через Окно > Отобразить не получиться, только программно или свойства книги в VBA проекте.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Как программно сделать книгу Excel отображаемой

Сообщение ger_kar » 02.11.2011 (Ср) 8:56

Димитрий писал(а):Иногда пользуюсь для скрытия книги - ThisWorkbook.IsAddin = True

Так я тоже хотел этим воспользоваться, но сразу не получилось из-за глюка Excel. А глюк в следующем, если в стронней программе обрабатывать не сами листы Excel, а проекты VBA, то Excel (из Office 2003, другие не проверял) как оказалось автоматом делает книгу addin' ом, но само свойство WorkBook.IsAddin не меняет и оно по прежнему остается False. И даже если уже сохраненную книгу открыть в Excel, она будет невидимой, хотя свойство по прежнему IsAddin = False .
Пробовал перед сохранением принудительно выставлять это свойство в False, тоже не помогло, но после долгих мытарств, проблема таки решилась и способ ее решения такой: Перед сохранением книги выставить свойство IsAddin = True и тут же вернуть его обратно IsAddin = False и после этой манипуляции свойством сохранить книгу. Вот так!
Бороться и искать, найти и перепрятать


Вернуться в VBA

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

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

    TopList