|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.11.2009, 18:10 | #1 |
Регистрация: 04.11.2009
Сообщений: 5
|
скрыть ленту через vba
Уважаемые форумчане, я перерыл весь рунет, но к сожалению не нашел решения для Excel 2007. Мне необходимо создать на базе excel небольшое приложение. Как условие стоит - убрать весь интерфейс excel.
Сетку, название приложения, статус, полосы прокрутки я уже поменял, но лента не сдается =)))) К сожалению все варианты кода, которые я нашел подходят только для 2003 и как бы я не пробовал ленту все равно не убрать. Заранее благодарю за помощь |
04.11.2009, 18:22 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Могу предложить только это:
Код:
|
04.11.2009, 18:29 | #3 |
Регистрация: 04.11.2009
Сообщений: 5
|
Спасибо огромное. А панель с заголовками ленты возможно как-то спрятать?
|
04.11.2009, 18:51 | #5 |
Регистрация: 04.11.2009
Сообщений: 5
|
Преклоняюсь перед Вашим мастерством! Теперь я получил то, что надо. Чистое окно =))))
Если кого-то мучает та же проблема - у меня получилось в итоге вот что... Если пойти дальше можно и панель статуса убрать ) Еще раз спасибо! Последний раз редактировалось Igor_D; 04.11.2009 в 18:59. |
04.11.2009, 19:07 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Можно убрать вообще всё:
Вот весь код: Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 04.11.2009 в 19:09. |
04.11.2009, 21:35 | #7 |
Регистрация: 04.11.2009
Сообщений: 5
|
странно - не работает...
|
10.09.2010, 17:43 | #8 |
Новичок
Джуниор
Регистрация: 10.09.2010
Сообщений: 1
|
PS: При желании можно убрать и заголовок окна Excel (при помощи WinAPI)[/QUOTE]
Здравсвуйте, очеееень помог Ваш код. Большое спасибо. Но есть один вопрос. Вы написали, что можно убрать заголовок окна. А можно его не убирать, а изменить иконку Excel, которая высвечивается в верхнем левом углу, на свою картинку? Если можно, то подскажите, пожалуйста, как это сделать. Спасибо |
18.10.2010, 21:35 | #9 |
Пользователь
Регистрация: 30.01.2009
Сообщений: 75
|
Действительно это гениально!
Но если продолжить тему - добавить в пустое окно собственное меню, как это делалось в excel 2003. А здесь, почему-то, не работает Я делал так Public Sub menubuilder() 'Убираем меню For Each cbar In Application.CommandBars If cbar.Visible = True Then cbar.Enabled = False Next 'Строим свое меню Dim cbMenuBar As CommandBar Set cbMenuBar = Application.CommandBars.Add(Name:=" custom1", _ Position:=msoBarTop, _ MenuBar:=True, _ Temporary:=True) 'Это собственные элементы меню With cbMenuBar .Visible = True With .Controls With .Add(Type:=msoControlPopup) .Caption = "Файл" With .Controls With .Add(Type:=msoControlButton) .Caption = "Сохранить модель как..." .OnAction = "MySaveAs" End With With .Add(Type:=msoControlButton) .Caption = "Выход из программы" .OnAction = "myQuit" End With With .Add(Type:=msoControlButton) .Caption = "О программе" .OnAction = "myAbout" End With End With End With End With End With 'Это встроенные элементы меню 'Application.CommandBars("custom1") .Controls.Add Type:=msoControlPopup, ID:= _ 30002, Before:=2 Application.CommandBars("custom1"). Controls.Add Type:=msoControlPopup, ID:= _ 30003, Before:=2 Application.CommandBars("custom1"). Controls.Add Type:=msoControlPopup, ID:= _ 30004, Before:=3 Application.CommandBars("custom1"). Controls.Add Type:=msoControlPopup, ID:= _ 30005, Before:=4 Application.CommandBars("custom1"). Controls.Add Type:=msoControlPopup, ID:= _ 30006, Before:=5 Application.CommandBars("custom1"). Controls.Add Type:=msoControlPopup, ID:= _ 30011, Before:=6 Application.CommandBars("custom1"). Controls.Add Type:=msoControlPopup, ID:= _ 30009, Before:=7 Application.CommandBars("custom1"). Controls.Add Type:=msoControlPopup, ID:= _ 30010, Before:=8 Application.CommandBars("custom1"). Controls.Add Type:=msoControlButton, ID:=4 _ , Before:=9 'Защита меню от пользователя Application.CommandBars("custom1"). Protection = msoBarNoChangeDock Application.CommandBars("custom1"). Protection = msoBarNoCustomize Application.CommandBars("Toolbar List").Enabled = False Application.OnKey "%-", "" Application.DisplayFormulaBar = False 'Отключаем все клавиши Application.OnKey "%{F1}", "" Application.OnKey "%{F2}", "" Application.OnKey "%{F3}", "" Application.OnKey "%{F4}", "" Application.OnKey "%{F5}", "" Application.OnKey "%{F6}", "" Application.OnKey "%{F7}", "" Application.OnKey "%{F8}", "" Application.OnKey "%{F9}", "" Application.OnKey "%{F10}", "" 'Application.OnKey "%{F11}", "" ' чтобы закрыть вход в редактор VBA Application.OnKey "%{F12}", "" 'Убрать из ярлычков пункт все ненужное Application.CommandBars("Ply").Cont rols("Ис&ходный текст").Delete Application.CommandBars("Ply").Cont rols("Переместить/скопировать...").Delete End Sub А в 2007 excel не работает. Подскажите, если можно - как надо. |
22.11.2010, 17:52 | #10 |
Новичок
Джуниор
Регистрация: 22.11.2010
Сообщений: 1
|
Здравствуйте!
Спасибо большое за программу, оч мне помогли. Только возник новый вопрос такого плана - получилось, что тулбары убираются во всех открытых файлах excel. Вообще возможно ли сделать так, чтобы тулбары скрывались только в одном нужном файле? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
открыть книгу через vba | ruavia3 | Microsoft Office Excel | 2 | 31.07.2009 16:39 |
поиск через VBA | Tirendus | Microsoft Office Excel | 8 | 31.07.2009 13:49 |
Печать листа через VBA | Волк | Microsoft Office Excel | 1 | 27.02.2009 11:37 |
Как в VBA скрыть неиспользуемые строки при условии | berliozz | Microsoft Office Excel | 16 | 24.11.2008 08:47 |
Скрыть-Отобразить с помощью VBA | ZORRO2005 | Microsoft Office Excel | 5 | 01.09.2008 09:11 |