Страницы: 1
RSS
неотображение ни одного листа при открытии
 
в целях защиты документа скрываю все листы перед закрытием книги  
 
private sub workbook_beforeClose()  
'............  
'для каждого листа устанавливаю  
for each sh in thisworkbook.worksheets    
if sh.name <>"Лист1" sh.visible = xlSheetVeryHidden  
next  
 
'скрываю все листы кроме одного листа к-й будет отображаться при открытии книги  
'в к-м инструкция, мол, включи макросы или зри только этот Лист1  
 
 
если макросы включены - то    
в private sub Workbook_Open() Отображаю необходимые листы а Лист1 скрываю,  
однако пока макрос выполняет скрытие-открытие. лист1, на долю секунды, всё ж мелькает.    
 
Вопрос: как неотображать лист1 при открытии книги (в случае включённых макросов)  
screenupdating = false не спасает(  
ещё впихивал при открытии книги форму, однако она тоже появляется после "мелькания листа"  
 
зы заранее спасибо за ответы!
 
нет напутствий никаких? либо ответа "это невозможно никак"  
всё ещё волнует вопрос
 
поставить свойство книги isaddin=true и сохранить книгу из vbe  
 
при открытии книги макросом менять это свойство, предварительно установиви необходимую видимость листов
Живи и дай жить..
 
Слэн, спасибо. попробую.
 
Может так: в модуль книги вставьте продцедуру  
 
Private Sub Workbook_Open()  
ActiveWindow.Visible = False  
End Sub
Редко но метко ...
 
оч. странное дело вышло  
 
оба метода не помогли(.    
 
и из-за какого-то метода. подозреваю что issadin перестали автоматически запускаться макросы    
в    
thisworkbook_beforeClose() ...  
activeworkbook_open()  
 
кошмар-с  
 
Any macros in the workbook won’t be visible in the Macro dialog box (displayed by pointing to Macro on the Tools menu and clicking Macros).    
 
Macros in the workbook can still be run from the Macro dialog box even though they’re not visible. In addition, macro names don’t need to be qualified with the workbook name.    
 
в общем как вернуть работоспособность обратно??  
 
зы не коннектится логин(
 
нашёл бэк-апы файлов. (слава богу;) резервирование иногда спасает)  
 
имхо "портит" файлы  
ActiveWindow.Visible = False
 
А чем конкретно эта операция:  
 
ActiveWindow.Visible = False  
 
по вашему мнению портит файлы ?
Редко но метко ...
 
сама операция не выглядит опасно, согласен.  
 
однако потестив на файле где стоит защита структуры книги и листов... и должны отображаться листы, только если в параметрах стоит "доверять макросам" и тд.  
...  
в общем процедура при открытии книги перестала работать.    
может между строчками  
 
ActiveWindow.Visible = False  
'нельзя выполнить отображение листов?  
'...  
sh.visible = xlSheetVisible  
ActiveWindow.Visible = True  
 
до этого работало, только мелькал лист, к-я при открытии я скрывал, мелькание собственно, которого я и хотел прекратить.  
вот так я и выдвинул такое предположение.    
 
как Вы считаете, может ли быть такое?  
ещё протестирую на др. файлах...
 
а что выполняла продцедура при открытии книги ?
Редко но метко ...
 
в ЭтаКнига:  
Private Sub Workbook_Open()  
 Call zapusk(1)  
end sub  
 
 
в модуле:  
Sub zapusk(a As Boolean)  
 
Dim sh As Worksheet  
 
    For Each sh In ThisWorkbook.Worksheets  
      If sh.Name <> "source" Then  
         If a = True Then  
             sh.Visible = True  
             ThisWorkbook.Sheets("ВклМакросы").Visible = xlSheetVeryHidden  
         Else  
            ThisWorkbook.Sheets("ВклМакросы").Visible = True  
            sh.Visible = xlSheetVeryHidden  
         End If  
      End If  
    Next  
End Sub
Страницы: 1
Читают тему
Наверх