Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


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

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

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

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


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

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

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


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

Поэкспериментируйте с этим
Код:

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
Репутация: 193

skype: RDG_Dmitry
По умолчанию 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
R Dmitry вне форума   Ответить с цитированием
Старый 17.06.2010, 14:44   #5
alvazor
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 122
Репутация: 22
По умолчанию

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

Спасибо.

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


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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задание положения курсора в окне(не 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 19:15


19:53.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru