Vba excel скрыть открытую книгу

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

#1

12.08.2015 12:02:52

Доброго времени суток, форумчане!
подскажите, как правильно скрыть приложение, так чтобы остальные открытые книги не сворачивались и были активны для редактирования.

Код
application.visible=true
userform.show
application.visible=false

не подходит.  

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#2

12.08.2015 12:30:04

Это как? Скрыть приложение, но оставить видимыми книги этого приложения? Скрыть автомобиль, но сиденья, руль и водителя не скрывать? :-)
Может скрыть книгу?

Код
ThisWorksbook.Windows(1).Visible = false

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

Пишу с телефона(не могу поменять шрифт) . Скрыть только книгу(прилодение) с запущенный формой.  

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

#4

12.08.2015 13:02:38

Не работает. Это я наверно криворукий

Код
Private sub Workbook_open()
Thisworksbook.windows(1).visible=false
Userform1.show
End sub

Где не правильно?  

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#5

12.08.2015 13:15:41

Опечатка. Одна буква лишняя была:

Код
ThisWorkbook.Windows(1).Visible = True

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

А у меня нет. Скрывает книгу, показывает форму. Вы опечатку исправили?

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

Вопрос прост. Необходимо выводить форму, но при этом не скрывая(не сворачивать)  остальные книги. Опечатку исправил

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Вопрос прост. Ответ тоже. У меня работает. Книга скрывается только одна, в которой код. Что не так-то? Можете нормально пояснить какие-такие другие книги надо оставить и какую одну скрыть?  

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

У меня не работает. Ругается на 2ю строчку userform1.show.   проблема в том, что при запуске книги с формой для ввода, все другие книги сворачивается и их нельзя открыть пока не закроешь форму. Нужен код, чтобы открывалась только форма для заполнения и пр этом остальные книги(открытые или будут открыты) были доступны для редактирования.

 

Malion

Пользователь

Сообщений: 49
Регистрация: 25.10.2013

#11

12.08.2015 14:33:42

как-то так может

Код
UserForm1.Show vbModeless
 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

#12

12.08.2015 14:37:23

Код
Private sub Workbook_open() 
Thisworkbook.windows(1).visible=false 
Userform1.show vbmodeless 
End sub 

Все равно не работает.
Работает только, когда меняешь false на true, но при этом видна книга с формой

 

Ronin751

Пользователь

Сообщений: 924
Регистрация: 10.04.2013

#13

13.08.2015 10:47:48

У меня тоже работает. В книге1 создаю форму. В этой же книге

Код
Private Sub Workbook_Open()
ThisWorkbook.Windows(1).Visible = False
UserForm1.Show 0
End Sub

Сохраняю и закрываю. Открываю книгу2 затем книгу1 с формой. Итог: На переднем плане моя форма, на заднем плане книга2.

Изменено: Ronin75113.08.2015 10:48:33

 

Ronin751

Пользователь

Сообщений: 924
Регистрация: 10.04.2013

Saifer

! Скажите, а у Вас при инициализации или активации Вашей формы ни каких макросов не выполняется? Если Вы пытаетесь в форму подтянуть данные с книги которую скрыли, то ошибка вполне реальна.

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

Ronin751! У меня из этой формы данные сохраняются еще в 3 книги. В книги с формой только диапазоны данных для Combobox. Предлагаемый вариант у меня так и не запустился. Прошу оказать помощь. Помогло только так
userform.show 0

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

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

#16

14.08.2015 20:53:00

Цитата
Saifer написал:
Скажите, а у Вас при инициализации или активации Вашей формы ни каких макросов не выполняется?

Тянет данные со скрытого листа той же книги с формой.

 

Hugo

Пользователь

Сообщений: 23251
Регистрация: 22.12.2012

10 постов — и ни одного файла!…
А вот был бы с подробным вопросом в первом посте — ответ был бы вероятно во втором.

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

К сожалению не могу приложить файл,т.к он содержит конфиденциальную информацию.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

А подготовить файл-пример никак? Лучше вы тут головы ломайте?

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

В понедельник выложу пример.

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

 

Ronin751

Пользователь

Сообщений: 924
Регистрация: 10.04.2013

#22

17.08.2015 22:40:43

Saifer

Ошибка возникает из-за попытки получить данные в форму с листа книги, которая скрыта. Нельзя взять то чего не видно. Может лучше заполнять форму данными совсем с другого файла? Но можно так:
В модуль книги

Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook
.Windows(1).Visible = True: .Save: .Close True
End With
End Sub

Private Sub Workbook_Open()
 Опросник.Show 0
End Sub

В модуль формы «ОПРОСНИК»

Код
Private Sub UserForm_Initialize()
Dim iMassiv
...
ThisWorkbook.Windows(1).Visible = False
End Sub
 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#23

18.08.2015 09:19:06

Цитата
Ronin751 написал: Нельзя взять то чего не видно

С каких пор? :-)

Код
Private Sub UserForm_Initialize()
Dim iMassiv
iMassiv = ThisWorkbook.Sheets("Данные").Range("A1:A3")
Me.ComboBox1.List = iMassiv
iMassiv = ThisWorkbook.Sheets("Данные").Range("B1:B4")
Me.ComboBox2.List = iMassiv
iMassiv = ThisWorkbook.Sheets("Данные").Range("C1:C3")
Me.ComboBox3.List = iMassiv
End Sub

И такое указание надо делать всегда. Пару статей писал, где упоминал подобное обращение к диапазонам:

  • Как обратиться к диапазону из VBA
  • Select и Activate — зачем нужны и нужны ли?

И на мой взгляд было бы неплохо при закрытии формы либо книгу отображать обратно, либо закрывать её совсем. Т.к. повторной возможности вызвать форму не предусмотрено. Только при открытии книги.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

#24

18.08.2015 11:13:39

Цитата
The_Prist написал: С каких пор?…

До этого не додумался. Спасибо!

Форму можно двигать, открывать другие книги.
Все сделал как Вы написали

Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook.Windows(1).Visible = True: .Save: .Close True
End With
End Sub

Private Sub Workbook_Open()
Опросник.Show 0
End Sub

В модуль формы «ОПРОСНИК»

Код
Private Sub UserForm_Initialize()
Dim iMassiv...
ThisWorkbook.Windows(1).Visible = FalseEnd Sub

Но книга с формой все еще не убирается(((

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Прокомментированный Вами код я не советовал. Мой код в самом начале обсуждения. И он работает, если внутри формы все обращения к листам и диапазонам скрытой книги сделать правильно.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Ronin751

Пользователь

Сообщений: 924
Регистрация: 10.04.2013

Saifer

! Я боюсь, что то ли мы Вас не можем понять, то ли Вы что то не договариваете.

The_Prist

уже во втором посте Вам дал более чем четкий ответ. У всех всё получается и работает. Создайте новую книгу, а затем откройте Вашу ( с формой ). Вы увидите свою форму но при этом самой книги не будет, будет лишь вновь созданная. Что у Вас не так?

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

При запуске ругается на опросник.show 0 object required.  

 

Saifer

Пользователь

Сообщений: 90
Регистрация: 21.11.2013

Инициализаю формы размещаю в модуле,  все работает, но поля формы (combobox) пустые. Размещаю Инициализаю в теле формы не запускается.  Используется макрос
Thisworkbook.window(1).visible=false
Опросник.show 0
End sub

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Вы рекомендации по обращению к листам применили? Вряд ли. У всех, кроме Вас все работает.
Я даже код на Initialize формы Вашего файла привел. Осталось лишь применить его вместо того, который был у Вас. Он никаких ошибок запуска не вызывает и все списки нормально формируются. Весь Ваш код внутри формы править не собираюсь — попробуйте сами разобраться.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Ronin751

Пользователь

Сообщений: 924
Регистрация: 10.04.2013

#30

19.08.2015 13:35:31

Вот всё, что было описано в посте 22 и совет

The_Prist

в посте 23. Может так начнет работать?!
P.S. ИМХО: Лучше загружать картинку на форму. Так файл меньше весить будет.

Прикрепленные файлы

  • Пример.rar (38.33 КБ)

Как при окрытии книги сделать ее «невидимой»?

Michael_S

Дата: Среда, 20.03.2013, 21:18 |
Сообщение № 1

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Всем добрый день!
Суть вопроса: у меня есть книга, при своем открытии она также открывает (или создает и сохраняет в туже папку) книгу с названием Date & «.xlsx», . Потом в этой книге макросы выполняют некоторые действия — какие, не суть важно.
Вопрос, как мою книгу открыть в фоновом режиме, и по закрытии книги, с которой она работает (и только этой книги) сохранить и закрыть обе?

зы. Только мне не надо направление, пальцем укажите, если это действие возможно biggrin

Сообщение отредактировал Michael_SСреда, 20.03.2013, 21:21

 

Ответить

Гость

Дата: Среда, 20.03.2013, 21:25 |
Сообщение № 2

visible=false

 

Ответить

Michael_S

Дата: Среда, 20.03.2013, 21:35 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Цитата (Гость)

visible=false

Пробую для проверки
[vba]

Код

Sub ttt1()
Workbooks(3).Visible = False
End Sub

[/vba]
-ошибка
Workbooks(3).Name = «Демонстрация (001_1).xlsm», открыта.

 

Ответить

RAN

Дата: Среда, 20.03.2013, 21:40 |
Сообщение № 4

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Погляди в сторону GetObject
Set CADObject = GetObject(«C:CADDate & «.xlsx»»)
После такого открытия книга всегда будет открываться скрытой. Чтобы при ручном открытии она отображалась, ее перед сохранением необходимо отобразить. Можешь поставить свойство IsAddin (в модуле книги) True.Тогда при необходимости проглядеть книгу, нужно будет в модуле книги вручную или макросом сменить свойство IsAddin на False.
Ну и visible=false можно использовать.

PS
[vba]

Код

Sub qq()
ActiveWindow.Visible = False
End Sub

[/vba]

PPS При использовании IsAddin открытую книгу не увидишь даже через меню Вид-Отобразить.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANСреда, 20.03.2013, 21:50

 

Ответить

Michael_S

Дата: Среда, 20.03.2013, 21:52 |
Сообщение № 5

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

RAN, мне нужно (желательно) скрыть не новую книгу, а мою «основную», с которой я начинаю (пусть она называется Книга1.xlsm).
Я работаю с новой книгой, но в ней нет макросов, и потому мне нужна первая книга.

 

Ответить

RAN

Дата: Среда, 20.03.2013, 22:12 |
Сообщение № 6

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

В таком разе тебе нужна надстройка. Она при запуске невидима, но макросы в ней работают. Создается либо сохранением как надстройка (Книга1.xlam), либо поставить свойство IsAddin (в модуле книги) True (Книга1.xlsm)

Но если просто убрать с глаз долой — тогда Visible.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANСреда, 20.03.2013, 22:14

 

Ответить

Michael_S

Дата: Среда, 20.03.2013, 22:47 |
Сообщение № 7

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Спасибо, с вопросом Visible разобрался..[vba]

Код

Windows(«книга1.xlsx»).Visible=false

[/vba]

Остался вопрос про закрытие и сохранение.

 

Ответить

RAN

Дата: Среда, 20.03.2013, 23:07 |
Сообщение № 8

Группа: Друзья

Ранг: Экселист

Сообщений: 5645


Быть или не быть, вот в чем загвоздка!

 

Ответить

Michael_S

Дата: Четверг, 21.03.2013, 17:04 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Спасибо, но не совсем то, что мне надо. второй вопрос — создам другую тему.

Сообщение отредактировал Michael_SЧетверг, 21.03.2013, 17:05

 

Ответить

RAN

Дата: Четверг, 21.03.2013, 18:22 |
Сообщение № 10

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Тогда поподробнее, можно с примерчиком и кодом. happy
А то я совсем не понял, что нать.


Быть или не быть, вот в чем загвоздка!

 

Ответить

1 / 1 / 1

Регистрация: 11.01.2013

Сообщений: 153

1

Как скрыть активную книгу

28.03.2013, 08:05. Показов 12904. Ответов 9


Студворк — интернет-сервис помощи студентам

Как скрыть файл который я не создавал программно, но при этом он активный



0



Апострофф

Заблокирован

28.03.2013, 08:32

2

От кого скрыть и в чём проявляется его активность?



0



1 / 1 / 1

Регистрация: 11.01.2013

Сообщений: 153

28.03.2013, 08:44

 [ТС]

3

Сделать просто невидимым или закрыть только этот файл а то когда закрываешь его закрываются и все файлы



0



Апострофф

Заблокирован

28.03.2013, 08:52

4

PuLbKa, когда начнем задавать внятные вопросы?
Что за файл, в чем открыт, как его закрываете?



0



1 / 1 / 1

Регистрация: 11.01.2013

Сообщений: 153

28.03.2013, 09:10

 [ТС]

5

Я открываю excel файл не программно и хочу скрыть его с помощью ActiveWorkbook.close



0



Апострофф

Заблокирован

28.03.2013, 09:35

6

Visual Basic
1
activeWorkbook.Windows(1).Visible = false



1



Казанский

15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

28.03.2013, 10:34

7

Вообще, у книги может быть несколько окон (Вид — Новое окно). Чтобы скрыть все, нужен цикл:

Visual Basic
1
2
3
4
Dim w
For Each w In ActiveWorkbook.Windows
    w.Visible = False
Next



2



0 / 0 / 0

Регистрация: 27.03.2013

Сообщений: 27

28.03.2013, 17:16

8

пардон за нерошеное
Как теперь ее отобразить?
спасибо



0



Апострофф

Заблокирован

28.03.2013, 17:57

9

ТипТоп, если Вы не догадались сохранить ссылку на скрытое окно или книгу, то придется отобразить все скрытые окна, наверно

Visual Basic
1
2
3
4
5
For Each wb In Workbooks
  For Each w In wb.Windows
      w.Visible = True
  Next
Next



1



0 / 0 / 0

Регистрация: 27.03.2013

Сообщений: 27

28.03.2013, 19:25

10

Спасибо!
Все понял. Макросы работают.



0



4u4elo
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 24.08.2005 (Ср) 13:54

скрыть книгу в Excel

Вопрос: никто не знает как можно сделать Excel-книгу невидимой на экране? Я хотел бы при открытии книги с данными открывать книгу с макросами, но так, чтобы эту книгу с макросами не было видно. Я знаю — можно сделать книгу с макросами надстройкой, но может есть ещё какой-то способ (например Visible=False)?

Взаранее спасибо!


lord0n
Постоялец
Постоялец
Аватара пользователя

 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow
  • ICQ

Сообщение lord0n » 26.08.2005 (Пт) 9:33

что то у меня большие подозрения что это опять кулхацкеры лезут :lol:

ну и вирмейкеры с ними тож :evil:

Теория — это когда что-то не работает и известно почему.

Практика — это когда что-то работает, но неизвестно почему.

Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.


4u4elo
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 24.08.2005 (Ср) 13:54

Сообщение 4u4elo » 26.08.2005 (Пт) 9:45

Я не понял, что ты хотел этим сказать?


lord0n
Постоялец
Постоялец
Аватара пользователя

 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow
  • ICQ

Сообщение lord0n » 26.08.2005 (Пт) 11:57

а зачем тебе делать автостарт и скрывать книгу с макросами ?

перый вывод который напрашивается — ты делаешь макро-вирус

Теория — это когда что-то не работает и известно почему.

Практика — это когда что-то работает, но неизвестно почему.

Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.


4u4elo
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 24.08.2005 (Ср) 13:54

Сообщение 4u4elo » 26.08.2005 (Пт) 12:52

Нет, я не делаю макро-вирус. Просто эти макросы используются и в других книгах с данными (отдельные книги по отдельным организациям или датам). А скрыть хочу чтобы пользователи не путались при виде лишней открывшейся книги и чтобы она не загромождало место. Макросы же буду вызывать с помощью кнопок созданной мною панели (панель будет открываться автоматически при открытии книги с макросами).


lord0n
Постоялец
Постоялец
Аватара пользователя

 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow
  • ICQ

Сообщение lord0n » 26.08.2005 (Пт) 12:59

4u4elo писал(а):Нет, я не делаю макро-вирус. Просто эти макросы используются и в других книгах с данными (отдельные книги по отдельным организациям или датам). А скрыть хочу чтобы пользователи не путались при виде лишней открывшейся книги и чтобы она не загромождало место. Макросы же буду вызывать с помощью кнопок созданной мною панели (панель будет открываться автоматически при открытии книги с макросами).

ясно

Код: Выделить всё


    Sheets(1).Visible = 2

саму книгу скрыть нельзя, ИХМО

а вообще можно добавить макрос в личную книгу макросов, тогда он не будет светится

Теория — это когда что-то не работает и известно почему.

Практика — это когда что-то работает, но неизвестно почему.

Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.


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

Сообщение GSerg » 26.08.2005 (Пт) 13:04

Сохрани книгу с макросами как xla и подключи в Сервис — Надстройки.

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


4u4elo
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 24.08.2005 (Ср) 13:54

Сообщение 4u4elo » 26.08.2005 (Пт) 13:10

Спасибо!


oleg
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 07.02.2002 (Чт) 1:41

Re:

Сообщение oleg » 04.04.2011 (Пн) 2:00

lord0n писал(а):саму книгу скрыть нельзя, ИХМО

а вот я как делал. при старте только форма появлялась. и проект имеется. он писался 10 лет назад и сегодняшние версии екселя «убивают» весь код.
отчего-то ексель пытаеся восстанавливать файлы.
так как организовать старт книги с пользовательской формы скрыв при этом книгу? припекло


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

Re: скрыть книгу в Excel

Сообщение alibek » 04.04.2011 (Пн) 11:11

Не надо скрывать книгу (Workbook). Нужно скрыть окно (Window).

Lasciate ogni speranza, voi ch’entrate.


oleg
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 07.02.2002 (Чт) 1:41

Re: скрыть книгу в Excel

Сообщение oleg » 05.04.2011 (Вт) 5:55

alibek писал(а):Не надо скрывать книгу (Workbook). Нужно скрыть окно (Window).

может и окно свернуто было, не помню.
ps
не так?
ActiveWindow.WindowState = xlMinimized
моргать все одно будет окно
psps
нет, вот так, пошел поглядел
Application.WindowState = xlMinimized
pspsps
а форма UserForm которая активируется в Workbook_Open() исчезает так же со сворачиванием окна


anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Re: скрыть книгу в Excel

Сообщение anvg » 06.04.2011 (Ср) 10:00

Код: Выделить всё
ThisWorkbook.Windows(1).Visible = False

не пробовал?


oleg
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 07.02.2002 (Чт) 1:41

Re: скрыть книгу в Excel

Сообщение oleg » 06.04.2011 (Ср) 18:56

anvg писал(а):

Код: Выделить всё
ThisWorkbook.Windows(1).Visible = False

не пробовал?

так только книга и закроется,а окно екселя останется


anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Re: скрыть книгу в Excel

Сообщение anvg » 07.04.2011 (Чт) 1:52

oleg
ты же писал

так как организовать старт книги с пользовательской формы скрыв при этом книгу? припекло

А не самого Excel, продолжи так

Код: Выделить всё
ThisWorkbook.Application.Visible = False

Не забудь только потом включить видимость Excel


oleg
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 07.02.2002 (Чт) 1:41

Re: скрыть книгу в Excel

Сообщение oleg » 22.04.2011 (Пт) 21:11

anvg писал(а):

Код: Выделить всё
ThisWorkbook.Windows(1).Visible = False

не пробовал?

вообщем, книги я более и не видел.
попробовал
ThisWorkbook.Windows(1).Visible = False
не получилось, изменил на
ThisWorkbook.Windows.Visible = False
и все. уже макросы не активирую, книга не появляется, только окно екселя с меню.
выкинул все уже в редакторе барсика. все одно при старте ругается на какой то макрос.
скачал вьювер, он не смог открыть файл. говорит попорчен. сижу вот восстанавливаю список ))


anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Re: скрыть книгу в Excel

Сообщение anvg » 25.04.2011 (Пн) 10:16

oleg
Код я этой книги, как я понял, доступен.
Активируй проект этой книги и в Immediate выполни ThisWorkbook.Windows(1).Visible = True


Earl
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 12.08.2011 (Пт) 21:26

Re: скрыть книгу в Excel

Сообщение Earl » 12.08.2011 (Пт) 21:33

4u4elo писал(а):Вопрос: никто не знает как можно сделать Excel-книгу невидимой на экране? Я хотел бы при открытии книги с данными открывать книгу с макросами, но так, чтобы эту книгу с макросами не было видно. Я знаю — можно сделать книгу с макросами надстройкой, но может есть ещё какой-то способ (например Visible=False)?
Взаранее спасибо!

word делает так Set zlodeidoc = Documents.Open(StartForm.zlpath & StartForm.zlfile, Visible:=False)
excel ругается… неужели нет аналога. Очень часто необходимо открыть книку для добавлениясчитывания данных. Даже screenupdating не спасает.


Earl
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 12.08.2011 (Пт) 21:26

Re: скрыть книгу в Excel

Сообщение Earl » 12.08.2011 (Пт) 21:36

А если нужно запускать без формы?


kas78
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 03.05.2012 (Чт) 8:51

Re: скрыть книгу в Excel

Сообщение kas78 » 03.05.2012 (Чт) 8:53

ThisWorkbook.Windows.Application.Visible = False



Вернуться в VBA

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

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

I usually have multiple workbooks open and on one workbook, I have a VBA code that hides the workbook and shows a UserForm. But when I open that workbook, all of my workbooks that are currently opened will also hide. What code can I use to just hide 1 workbook?

Here are the codes I’ve tried:

ThisWorkbook.Application.Visible = False

Windows(ThisWorkbook.name).Visible = False

Application.Windows(1).visible = false

With Windows(ThisWorkBook.name).visible = False works with closing only one workbook, it messes with the workbook and the sheets don’t show at all. I can’t even close the excel workbook without using the task manager.

pnuts's user avatar

pnuts

58k11 gold badges85 silver badges137 bronze badges

asked May 12, 2014 at 7:09

Hush's user avatar

2

ThisWorkbook.Application.Visible = False will change the Visible property of the application running your workbook, i.e. an instance of Excel.EXE … if this instance is running your other books, too, then as a consequence all these books will disappear from screen.

To hide a single workbook, use

ActiveWindow.Visible = False

or alternatively, if the workbook you want to hide (e.g. «MyWorkbook») is not the active one

Windows("MyWorkbook").Visible = False

Pay attention that hiding a window also moves the pointer to the ActiveSheet, likewise when you reverse this (i.e. ...Visible = True) the displayed sheet becomes active.

answered May 12, 2014 at 7:52

MikeD's user avatar

MikeDMikeD

8,8612 gold badges28 silver badges50 bronze badges

5

Понравилась статья? Поделить с друзьями:
  • Vba excel скрыть колонку
  • Vba excel скрыть кнопку на листе
  • Vba excel скрыть вкладки
  • Vba excel скрыть userform
  • Vba excel сколько листов в книге