Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2010, 10:13   #1
mserkin
 
Регистрация: 31.05.2010
Сообщений: 5
По умолчанию Кто знает как через VBA заблокировать кнопку закрытия окна и развёртывания при Full Screen view

для ввода данных в расчётные таблицы для их обработки в Cognos TM1 заказчик требует только Excel.а я с ним не работал. . .

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

а вот кнопки окна . . .нет.


предлагаю обмен знаний на любые вопросы по Cognos
mserkin вне форума Ответить с цитированием
Старый 16.06.2010, 11:30   #2
mserkin
 
Регистрация: 31.05.2010
Сообщений: 5
По умолчанию

правельно ли я понял насчёт закрытия окна?!

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = True
End Sub


а если то жэ с развёрткой???то как прописать? RestoreWindow???
mserkin вне форума Ответить с цитированием
Старый 16.06.2010, 12:55   #3
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Поэкспериментируйте с этим
Код:
Sub Убрать()
''строка состояния
'Application.DisplayStatusBar = False
''строка формул
'Application.DisplayFormulaBar = False
'полосы прокрутки
Application.DisplayScrollBars = False
'во весь экран
Application.DisplayFullScreen = True
'сетка, заголовки строк/столбцов, ярлычки листов
With ActiveWindow
    .DisplayGridlines = False
    .DisplayHeadings = False
'    .DisplayWorkbookTabs = False
End With
MsgBox "во весь экран"
End Sub

Sub Восстановить()
'все как было
Application.DisplayFullScreen = False
'Application.DisplayStatusBar = True
'Application.DisplayFormulaBar = True
Application.DisplayScrollBars = True
With ActiveWindow
    .DisplayGridlines = True
    .DisplayHeadings = True
'    .DisplayWorkbookTabs = True
End With
End Sub
nilem вне форума Ответить с цитированием
Старый 16.06.2010, 15:17   #4
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию 1

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

Private Declare Function FindWindow _
Lib "user32.dll" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetSystemMenu _
Lib "user32.dll" ( _
ByVal hWnd As Long, _
ByVal bRevert As Long) As Long
Private Declare Function DestroyMenu _
Lib "user32.dll" ( _
ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu _
Lib "user32.dll" ( _
ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long) As Long
Private Declare Function GetMenuItemCount _
Lib "user32.dll" ( _
ByVal hMenu As Long) As Long
Private Declare Function DrawMenuBar Lib "user32.dll" ( _
ByVal hWnd As Long) As Long
Private Sub Label1_Click()
Unload Me
End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.ScreenUpdating = False
If CloseMode = 0 Then
Cancel = True
'Call test
End If
Application.ScreenUpdating = True
End Sub
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 17.06.2010, 14:44   #5
alvazor
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 122
По умолчанию

Посмотрите пример файла во вложении
Не заблокировано только изменение размеров окна самого Excel - требует применения API функций, муторно...
У самой книги изменение размера заблокировано (можно ее только свернуть, если есть другие открытые книги). Закрыть ее можно только кнопкой формыэ Также нельзя закрыть Excel при активной данной книге (другие книги - можно)
Видимость формы с кнопкой синхронизирована с другими книгами
Можно, если нужно, с использованием того же модуля класса скрывать у данной книги хоть все меню и восстанавливать всё при открытии окон других книг. Но тут уже надо распознавать, что за Excel - в 2007 совсем другие типы меню + лента.
Вложения
Тип файла: rar Proba.rar (14.5 Кб, 77 просмотров)
alvazor вне форума Ответить с цитированием
Старый 18.06.2010, 12:29   #6
mserkin
 
Регистрация: 31.05.2010
Сообщений: 5
По умолчанию

Спасибо.

скоро проверю.


отпишу о результате
mserkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задание положения курсора в окне(не full screen)) Oburec Общие вопросы Delphi 1 30.06.2009 00:42
как заблокировать всплывающие окна в интернете gaka1995 Операционные системы общие вопросы 4 28.06.2009 13:43
Открытие нового окна, при нажатии на кнопку(Delphi). sergey31 Помощь студентам 2 24.05.2008 14:48
Full screen RealSHELS Gamedev - cоздание игр: Unity, OpenGL, DirectX 16 05.05.2008 11:37
А кто знает как менять IP через Delphi? micaell Работа с сетью в Delphi 6 23.01.2007 18:15