Excel при открытии файла скрыть

Если вам нужно автоматически скрыть некоторые конкретные рабочие листы, когда кто-то открывает книгу, как вы могли бы справиться с этим заданием в Excel?

Автоматическое скрытие определенного рабочего листа при открытии книги с кодом VBA

Автоматическое скрытие некоторых конкретных листов при открытии книги с кодом VBA


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

Если вы хотите скрыть один конкретный лист при открытии книги, вы можете применить следующий код VBA.

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Слева Проект-VBAProject панели дважды щелкните значок Эта рабочая тетрадь , чтобы открыть пустой модуль, а затем скопируйте и вставьте в модуль следующий код:

Код VBA: скрыть определенный лист при открытии книги:

Private Sub Workbook_Open()
Sheets("Sheet5").Visible = False
End Sub

документ скрыть лист на открытом 1

Внимание: В приведенном выше коде Sheet5 — это имя листа, который вы хотите скрыть при открытии. Пожалуйста, измените его по своему усмотрению.

3. Затем сохраните и закройте это окно кода и нажмите Файл > Сохранить как чтобы сохранить эту книгу как Excel Macro-Enabled Workbook формат, см. снимок экрана:

документ скрыть лист на открытом 2

4. Когда вы откроете эту книгу в следующий раз, нажмите Включить контент сначала нажмите кнопку, а затем ваш указанный лист будет автоматически скрыт.

документ скрыть лист на открытом 3


стрелка синий правый пузырь Автоматическое скрытие некоторых конкретных листов при открытии книги с кодом VBA

Если при открытии книги необходимо скрыть несколько рабочих листов, вот код также может вам помочь.

1. Сначала вы должны перечислить имена листов, которые вы хотите скрыть при открытии, в списке рабочего листа, а затем перейти к Поле имени дать им название диапазона —ЛистыСкрыть, и нажмите Enter ключ, см. снимок экрана:

документ скрыть лист на открытом 4

2. Затем удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

3. Слева Проект-VBAProject панели дважды щелкните значок Эта рабочая тетрадь , чтобы открыть пустой модуль, а затем скопируйте и вставьте в модуль следующий код:

Код VBA: скрыть некоторые конкретные рабочие листы при открытии книги:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   'Updateby Extendoffice 20161206
    Dim ws As Worksheet
    For Each ws In Worksheets
       ws.Visible = xlSheetVisible
    Next ws
End Sub
Private Sub Workbook_Open()
    Dim ws As Worksheet
        For Each ws In Worksheets
            If WorksheetFunction.CountIf([SheetsToHide], ws.Name) > 0 Then
                ws.Visible = xlSheetHidden
                MsgBox ws.Name & "Has been hidden!", vbInformation, "Kutools for Excel"
            Else
                ws.Visible = xlSheetVisible
            End If
        Next ws
    Set ws = Nothing
End Sub

документ скрыть лист на открытом 5

Внимание: В приведенном выше коде ЛистыСкрыть — это имя диапазона, которое вы создали на шаге 1.

4. Затем сохраните и закройте это окно кода и нажмите Файл > Сохранить как чтобы сохранить эту книгу как Excel Macro-Enabled Workbook формат. С этого момента, когда вы откроете эту книгу в следующий раз, указанные рабочие листы будут автоматически скрыты.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

15 / 8 / 2

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

Сообщений: 105

1

15.10.2011, 10:36. Показов 32681. Ответов 15


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

Собственно меня интересует как возможно открыть форму в документе эксель но так что бы была видна только форма при открытии документа а сам документ был скрыт или свернут?



0



аналитика

здесь больше нет…

3372 / 1670 / 184

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

Сообщений: 1,219

15.10.2011, 12:50

2

Лучший ответ Сообщение было отмечено как решение

Решение

в модуль «ЭтаКнига»:

Visual Basic
1
2
3
4
sub workbook_open()
   application.visible=false
   yourform.show
end sub



4



15 / 8 / 2

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

Сообщений: 105

15.10.2011, 13:55

 [ТС]

3

не работает(



1



Почетный модератор

21371 / 9105 / 1082

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

Сообщений: 11,014

15.10.2011, 17:22

4

Assassinys, работает.
Код надо поместить куда и сказано —

в модуль «Эта книга»

yourform заменить на свое, например, у меня Userform1



2



15 / 8 / 2

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

Сообщений: 105

15.10.2011, 22:19

 [ТС]

5

Да заработало , я просто имя формы некорректное выбирал



0



0 / 0 / 0

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

Сообщений: 3

09.10.2012, 11:16

6

А как обратно открыть файл для редактирования (((



0



Апострофф

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

09.10.2012, 11:40

7

Цитата
Сообщение от Aleksey1404
Посмотреть сообщение

А как обратно открыть файл для редактирования (((

Разве не очевидно?

Visual Basic
1
Application.Visible = True



1



0 / 0 / 0

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

Сообщений: 3

09.10.2012, 12:55

8

Может есть какое-то сочетание клавиш, позволяющее открыть файл без отработки макроса(shift не помогает), т.к. у меня отображается форма, но я не могу добавить код по причине отсутствия окна екселя… код не большой написан, просто стало интересно)



0



Апострофф

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

09.10.2012, 14:13

9

Aleksey1404, Вы наверно не с того конца начали программу писать
Сначала следовало забить в форму код,
а потом в прятки с Excel`ем играть.

Цитата
Сообщение от Aleksey1404
Посмотреть сообщение

shift не помогает

Странно, у меня shift позволяет открыть файл в Excel без автозапуска макросов



2



0 / 0 / 0

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

Сообщений: 3

09.10.2012, 14:48

10

открылось когда жал шифт в самом экселе Файл-открыть, а не щелкая по самому файлу)))



0



693 / 99 / 10

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

Сообщений: 718

16.05.2013, 18:41

11

Цитата
Сообщение от аналитика
Посмотреть сообщение

sub workbook_open()
* *application.visible=false
* *yourform.show
end sub

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

Добавлено через 54 секунды
есть ли у кого каки ето варианты решения етой проблемы



0



dev.Free

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

16.05.2013, 19:21

12

IvanOK, На горе программист:

Visual Basic
1
2
ThisWorkbook.Windows.Application.Visible = False
UserForm1.Show

Цитата
Сообщение от IvanOK
Посмотреть сообщение

Работаю за спасибо



1



IvanOK

693 / 99 / 10

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

Сообщений: 718

16.05.2013, 19:30

13

inv.DS,

Цитата
Сообщение от inv.DS
Посмотреть сообщение

На горе программист:

Добавлено через 3 минуты
inv.DS, неа ефекто тот же….

Цитата
Сообщение от inv.DS
Посмотреть сообщение

ThisWorkbook.Windows.Application.Visible = False

нужно сделать до

Visual Basic
1
sub workbook_open()

иначе ефект полюбому останется…. потому что сначала открываеться ексель а потом он выполняет макрос



0



dev.Free

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

16.05.2013, 19:39

14

IvanOK, Вы бредите! Все работает у меня остается только 1 форма активная, сам Excel прячется.



0



693 / 99 / 10

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

Сообщений: 718

16.05.2013, 19:49

15

inv.DS, ето вы просто не замечаете не мощном ПК, а я говорю дело



0



eagl69

10 / 14 / 8

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

Сообщений: 761

30.11.2016, 17:05

16

В продолжение темы:

Visual Basic
1
2
3
4
5
6
7
Private Sub CommandButton8_Click()
   Application.Visible = False
 End Sub
 
Private Sub CommandButton9_Click()
  Application.Visible = True
End Sub

Лист скрывается а вот при открытии появляется еще какой то лист пустой

Миниатюры

Как открыть форму, а Excel скрыть или вовсе не открывать
 



0



IT_Exp

Эксперт

87844 / 49110 / 22898

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

Сообщений: 92,604

30.11.2016, 17:05

Помогаю со студенческими работами здесь

Открыть вторую форму и скрыть первую
Скажите почему в форме, которая содержит класс, нельзя сделать вот так:

Form2 a=new Form2();…

Скрыть форму, и открыть ее, сохранив свойства компонентов
Всем привет!
Банальный вопрос :(
У меня есть 2 формы, на 1 я вписал в текстбокс слово, открыл…

Как правильно — конкатенты, соконкатенты или конкатенанты, или термина для такого понятия вовсе нет?
когда мы складываем a и b, то называем их "слагаемыми",
когда перемножаем эти же числа, то…

Это обьект, переменная или что? Как то вовсе непонятно
Пожалуста, обьясните подробно что такое rhs!!

// Функция Add
#include <string>
#include…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

16

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

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
А то я совсем не понял, что нать.


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

 

Ответить

 

JuliS

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

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

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

 

Hugo

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

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

{quote}{login=JuliS}{date=20.04.2011 01:32}{thema=Как открывая книгу запустить только форму?}{post}Всем доброго дня! Подскажите пожалуйста, как сделать так, чтобы при открытии книги запускалась только форма, а сама книга была скрыта?{/post}{/quote}  

  Постаьте на открытие файла запуск формы, окно файла сделайте скрытым (меню Окно->скрыть).  
Но если другие файлы Экселя в это время не открыты — смотрится не очень…  
Тогда см.  

http://www.sql.ru/forum/actualthread.aspx?tid=549214

 

JuliS

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

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

Я хочу, чтоб вообще никакого доступа к данным не было. И нажимая на крестик, чтоб книга закрывалась

 

JuliS

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

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

А можно ли книгу просто спрятать ЗА форму?

 

Hugo

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

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

Посмотрите пример с сайта по ссылке выше

 

слэн

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

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

 

JuliS

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

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

{quote}{login=слэн}{date=20.04.2011 02:58}{thema=}{post}

http://www.planetaexcel.ru/forum.php?thread_id=25225

{/post}{/quote}  

  Слэн! именно так я и хотела сделать. Что мне нужно изменить в моем файле? И что дописать в modMaximize, чтоб Юзерформ2 тоже открывалась во весь экран?

 

JuliS

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

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

{quote}{login=Hugo}{date=20.04.2011 02:32}{thema=}{post}Посмотрите пример с сайта по ссылке выше{/post}{/quote}  

  Идея хорошая.А можно ли, чтоб форма открывалась по-центру, а не слева вверху?

 

JuliS

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

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

У меня получилось создать запуск формы. А как можно вернуться в редактирование? Когда я вновь запустила файл, выходит сообщение, что он уже открыт. Как снова войти в редактирование?

 

Hugo

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

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

Поставьте средний уровень безопасности (в 2000/2003) — тогда можно отключить макросы и автозапуск формы и зайти в редактор.

 

JuliS

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

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

{quote}{login=Hugo}{date=20.04.2011 05:34}{thema=}{post}Поставьте средний уровень безопасности (в 2000/2003) — тогда можно отключить макросы и автозапуск формы и зайти в редактор.{/post}{/quote}  

  макросы я отключила. А где отключить автозапуск?

 

Hugo

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

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

Так если макросы отключены — форма не запустится, окно не скроется.  
Или мы о разных файлах говорим? Я о файле слэна :)

 

JuliS

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

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

Прочитав тему

http://www.planetaexcel.ru/forum.php?thread_id=25225

, я в свой файл добавила    
Private Sub Workbook_Open()  
Application.DisplayAlerts = False  
Application.Visible = False ‘ вот тут скрывается окно иксель  
Userform1.show  
End Sub  
Все получилось. Файл звпускается как я хотела. (как и у слэна). Закрываю нажатием на крестик. При повторном открытии файла , выдает сообщение, что файл уже открыт и можно открыть «только для чтения» Как мне вернуться в редактор?

 

sva

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

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

Запустить другой файл Excel и из него зайти в редактор.

 

Hugo

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

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

Так если Application.Visible = False, то и другой файл будет невиден. Вроде так, проверять не буду.  
Нужно убить Эксель через таскменеджер, открыть Эксель, отключить макросы, открыть файл, поставить на закрытие формы закрытие файла, включить макросы.

 

sva

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

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

Нормально открывается, проверил. :)

 

JuliS

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

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

{quote}{login=Hugo}{date=20.04.2011 07:46}{thema=}{post}Так если Application.Visible = False, то и другой файл будет невиден. Вроде так, проверять не буду.  
Нужно убить Эксель через таскменеджер, открыть Эксель, отключить макросы, открыть файл, поставить на закрытие формы закрытие файла, включить макросы.{/post}{/quote}  

  Нужно False поменять на True? Кстати, помогает только перезагрузка

 

JuliS

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

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

Уважаемые знатоки! Посмотрите пожалуйста, где у меня ошибка в запуске файла

 

Hugo

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

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

Что-то вроде этого. Я с формами мало дела имел, так что строго не судите. Но раз другого ничего нет…  
Не смог побороть мигание при переключении форм.  
В общем, это ещё не готовый проект.  
При закрытии форм файл закрывается, но Эксель нет. Это тоже можно доделать — проверить, есть ли ещё открытые файлы, и поступить по ситуации.

 

Hugo

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

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

Да, кроме всего прочего, убрал Rowsource листбокса — он теперь загружается программно. Иначе со скрытым окном работать не хочет.

 

{quote}{login=JuliS}{date=20.04.2011 06:55}{thema=}{post}Прочитав тему

http://www.planetaexcel.ru/forum.php?thread_id=25225

, я в свой файл добавила    
Private Sub Workbook_Open()  
Application.DisplayAlerts = False  
Application.Visible = False ‘ вот тут скрывается окно иксель  
Userform1.show  
End Sub  
Все получилось. Файл звпускается как я хотела. (как и у слэна). Закрываю нажатием на крестик. При повторном открытии файла , выдает сообщение, что файл уже открыт и можно открыть «только для чтения» Как мне вернуться в редактор?{/post}{/quote}  

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

  form_terminate()  

  исследуйте дальше — у меня это там есть.

 

слэн

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

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

в предыдущем не залогинился

 

JuliS

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

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

Ув. слэн! Извиняюсь за назойливость.    
Изучила всю ветку (

http://www.planetaexcel.ru/forum.php?thread_id=25225

) Перепробовала все возможности. Но постоянно при повторном открытии, файл открывается «только для чтения». Хочу, чтоб мой файл открывался только в виде ФОРМЫ. Можно ли найти в чем ошибка?

 

JuliS

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

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

Попробовала создать файл на подобии post_206594. Но он не открываются, как мне надо. А те которые открываются, то » только для чтения» (см. прикрепленный файл).    
Пользователь » Это кто? (на том же файле)

 

Hugo

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

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

Похоже, что запускается второй экземпляр Экселя, а этот файл уже открыт в первом Экселе.

 

слэн

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

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

естественно…  никтож не закрывал документ

 

слэн

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

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

если не можете найти разницы, то просто возьмите мой файл и замените там форму на свою(сам макет, не название). там уже прописаны действия по нажатию кнопок пуск, отмена и крестик..  

  измените код для пуск( вызывайте свою программу), если потребуется

 

{quote}{login=слэн}{date=22.04.2011 09:38}{thema=}{post}если не можете найти разницы, то просто возьмите мой файл и замените там форму на свою(сам макет, не название). там уже прописаны действия по нажатию кнопок пуск, отмена и крестик..  

  измените код для пуск( вызывайте свою программу), если потребуется{/post}{/quote}  

  Ув.Слэн! Я так и сделала. В вашем файле, я поменяла fotopic на userform1. Результат тот же. Прочитала ветку

http://www.planetaexcel.ru/forum.php?thread_id=4241

Там похоже та же ситуация. Скопировала себе последнее сообщение. Не помогло. Помогите, плиз!    
ЗЫ.Может проблема в настройках Эксэля?

 

слэн

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

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

чем же я вам еще могу помочь?  

  я уже предоставил вам файл, где реализовано, то, что вам нужно..  

  если я другой вам напишу, не будет ли тоже самое?  

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

 

JuliS

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

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

#30

22.04.2011 14:53:03

Ура! Я вроде нашла проблему. У меня на компьютере инсталлирован Office2007. Для создания проекта и поддержки на сайте я скачала Excel2003Portable. Создав проект в 2007-м, все работает отлично, но когда сохраняю в 2003-м. Начинается проблема. Вопрос: В чем причина? В наличии двух Оффисов на компьютере или проблема в портабельном Оффисе? И можно ли дополнительно инсталлировать Office2003?

Хитрости »

Как сделать лист очень скрытым

1 Май 2011              90232 просмотров

Иногда возникают ситуации, когда надо скрыть лист со всем его содержимым от посторонних любопытных глаз. Очень часто это делается из контекстного меню листа (для счастливых обладателей 2007 Excel. Подробнее: здесь). Но при использовании данного метода необходимо защитить книгу, иначе отобразить скрытые листы сможет каждый (тем же правым щелчком мыши — Отобразить). А что делать, если книгу не надо защищать? Ведь часто необходимо оставить пользователям возможность работы со структурой книги, например, добавлять листы. Как тогда скрыть лист так, чтобы его нельзя было отобразить? Есть достаточно простой способ через редактор VBA, при этом обладать навыком программирования вообще не нужно. Итак, определились какой лист надо скрыть. Далее:

  1. заходим в редактор VBA(Alt+F11)
  2. жмем сочетание клавиш Ctrl+R или идем в меню ViewProject Explorer (чтобы отобразить окно объектов проекта VBA)
  3. жмем F4 или через ViewProperties Window (чтобы отобразить окно свойств)
  4. в левой части окна (в Project Explorer) ищем книгу, лист в которой надо скрыть и раскрываем её папку(на скрине это VBA Project (Книга1))
  5. раскрываем папку Microsoft Excel Objects и выделяем там лист с нужным именем
  6. в Окне свойств (Properties Window) находим свойство Visible и назначаем ему значение xlSheetVeryHidden

Сделать лист супер скрытым

Чтобы затем отобразить этот лист необходимо свойству Visible задать значение — xlSheetVisible. При этом для отображения листа необходимо будет обязательно зайти в редактор VBA — простым методом отобразить не получится. И книгу защищать не надо. Что нам и было необходимо.
Для большей надежности можно защитить проект VBA, чтобы не было возможности отобразить лист из VBA, не указав пароль. На функционал это не повлияет совершенно.
В том же окне VBA(Alt+F11):

  1. ToolsVBAProject Properties -вкладка Protection
  2. для защиты устанавливается галочка «Lock project for viewing«; для разблокировки — снимается
  3. вписывается/удаляется сам пароль в полях Password и Confirm password.

Скрыть только определенные листы активной книги можно следующим кодом:

Sub Hide_Sheets()
    Dim ws, aSheets
    aSheets = Array("Лист1", "Списки", "Лист2") 'через запятую перечисляем листы для скрытия(обязательно в кавычках)
    For Each ws In aSheets
        ActiveWorkbook.Sheets(ws).Visible = xlSheetVeryHidden
        'отобразить – xlSheetVisible; сделать лист просто скрытым -  xlSheetHidden
    Next wsSh
End Sub

Как использовать: Для начала надо убедиться, что разрешены макросы и при необходимости включить их: почему не работает макрос. Затем копируем код выше, из Excel переходим в редактор VBA(Alt+F11) —InsertModule. Вставляем туда скопированный код. Теперь код можно вызывать нажатием клавиш Alt+F8 -выделяем Hide_SheetsВыполнить(Run).
Скрыть все листы в активной книге, кроме листа с именем «Видимый», можно следующим кодом:

Sub Hide_All_Sheets()
    Dim wsSh As Object
    For Each wsSh In ActiveWorkbook.Sheets
        If wsSh.Name <> "Видимый" Then wsSh.Visible = xlSheetVeryHidden
        'отобразить – xlSheetVisible; сделать лист просто скрытым -  xlSheetHidden
    Next wsSh
End Sub

Скрыть абсолютно все листы не получится — Excel не позволит это сделать, т.к. в книге должен быть видимым хотя бы один лист.

Также см.:
Как сделать лист скрытым?
Изменить видимость листов
Почему нет листов?


Статья помогла? Сделай твит, поделись ссылкой с друзьями!

Понравилась статья? Поделить с друзьями:
  • Excel при открытии файла пустой экран
  • Excel при открытии файла ошибка печати
  • Excel при открытии файла ошибка в данных
  • Excel при открытии файла не показывает таблицы
  • Excel при открытии нет таблицы