2016-12-09 5 views
0

WorkbookUserForm으로 열리는 Excel VBA에서 스크립트를 작성하고 있습니다. UserForm 만 보이고 Excel 창 자체가 보이지 않게하고 싶습니다. 따라서, 나는 Workbook의 개통을 위해 다음과 같은 코드를 작성했습니다 :특정 통합 문서 보이지 않는 Excel VBA

Private Sub Workbook_Open() 

'Application launch 

Application.Visible = False 'Hide Excel window 
EnableResize = False 
Application.DisplayFullScreen = True 'Preset fullscreeen mode 
Application.CommandBars("Full Screen").Enabled = False 'Hide command bars 
WelcomeForm.Show 'Show welcome UserForm 

End Sub 

은 내가 보이지 않게 전체 Excel 응용 프로그램을 설정 한 것으로 알고 있습니다. 이러한 의미에서, 이제는 다른 Excel 통합 문서를 열면이 문서를 열 자마자 보이지 않게됩니다. 이 설정이이 특정 통합 문서에만 적용되도록 어떻게 만들 수 있습니까? 주셔서 감사합니다

+1

나는 그렇게 할 수 있다고 생각하지 않습니다. Excel에는보고있는 통합 문서와 독립적 인 GLOBAL 설정이 있습니다. 예를 들어 하나의 통합 문서를보고 리본을 최소화 한 다음 통합 문서를 닫고 종료 한 다음 파일이 있거나없는 Excel을 실행할 수 있습니다. 리본이 최소화 된 상태로 유지됩니다. – FDavidov

+1

VeryHidden을 사용할 수도 있습니다. http://stackoverflow.com/questions/853270/hiding-an-excel-worksheet-with-vba/853327#853327을 참조하십시오. –

+0

때때로 Excel에서 VBA 프로젝트를 만드는 데 드는 노력은 Windows 응용 프로그램을 작성하는 데 약간의 시간을 투자하는 것보다 Windows 응용 프로그램과 비슷합니다. YMMV. –

답변

1

를 확인 할 필요가있다 선택의 여지가 여기에 할 것입니다 :

Sub HideSheet() 

Dim sheet As Worksheet 

    Set sheet = ActiveSheet 

    ' Hides the sheet but users will be able to unhide it using the Excel UI 
    sheet.Visible = xlSheetHidden 

    ' Hides the sheet so that it can only be made visible using VBA 
    sheet.Visible = xlSheetVeryHidden 

End Sub 

자세한 내용은 this SO question

1

부분 대답 : 당신은 단지 하나를 열고 통합 문서가있는 경우 당신은 (빈 엑셀 창이있을 것 .Visible뿐만 아니라

ThisWorkbook.Windows(1).Visible = False 

그러나이 응용 프로그램을 숨기지 창의 속성을 설정할 수 있습니다) 그래서 당신은 첫 번째

If Application.Workbooks.Count > 1 Then 
    ThisWorkbook.Windows(1).Visible = False 
Else 
    Application.Visible = False 
End If 
+0

감사합니다. 도움이됩니다! – franciscofcosta

관련 문제