엑셀vba를 다루면서 왜 항상 엑셀이 실행되야 할까란 의문을 품었다.
(너무 당연한 소리아닌가.. 엑셀vba니까 엑셀이 실행돼야지?)
그래서 vba를 쓸 수 있는 Visual Studio 2019 community 프로그램을 설치했는데
어떻게 써야할지 몰라서 안쓰고 있다...
혹시 엑셀로 어떻게 안될까 싶어서 구글링하고 연구해본 결과
엑셀없이 엑셀 사용자 정의폼을 실행 시키는건 불가능 한 듯 보였다..
하지만...
와우 엑셀없이 사용자 정의폼이 실행되네???
개쩌는걸 발견한듯?? ㅋㅋ
그러나 .. . .
이거슨 눈속임에 지나지 않았다 . .. ..
그래도 엑셀없이 실행된거 같은 느낌을 준다.
엑셀을 실행시키면 열린 엑셀파일은 재빨리 눈 앞에서 사라지고 사용자 정의폼을 실행시킨다.
정의폼에서 작업이 끝나고 닫기를 누르면 눈 앞에서 사라진 엑셀도 꺼지도록 설계했다.
처음 시작 할 때 잠깐 눈에 띄는거 말곤 엑셀을 볼 수 없다.
이정도면 나름 괜찮은 ?? ㅋㅋ
코드
Option Explicit
Private Sub Workbook_Open()
Dim Excel_Ap As Excel.Application
Set Excel_Ap = ThisWorkbook.Application
Excel_Ap.ActiveWorkbook.Application.Visible = False
UserForm1.StartUpPosition = 0
UserForm1.Top = 200
UserForm1.Left = 600
UserForm1.Show
Excel_Ap.ActiveWorkbook.Application.Visible = True
'Excel_Ap.ActiveWorkbook.Application.Quit
'Set Excel_Ap = Nothing
End Sub
위 코드는 엑셀 파일이 실행되면 바로 vba 코드가 작동되야 하기때문에 현재_통합_문서에 코드를 작성 해야한다.
Excel_Ap.ActiveWorkbook.Application.Visible = False '현재 실행된 엑셀 파일만 안보이게됨. (버로우)
userform1.startupposition = 0 '시작 위치 0 설정
userform1.top = 200 '유저폼 띄어지는 위치 설정 ,위아래
userform1.left = 600 '유저폼 좌우위치 설정
이 매크로의 무시무시한 점은 실행하고 사용자 정의폼을 닫을 때 열려있던 모든 엑셀이 다 닫힘 ㅋㅋㅋㅋ
수행의 길은 멀고도 험난하구먼
좀 더 좋은 방법을 생각해 봐야할듯
좀 더 좋은 방법 생각나서 수정함.
'컴퓨터 공부 > 엑셀 & VBA' 카테고리의 다른 글
[엑셀vba] 사용자 정의 폼에서 키 입력 받고 이벤트 실행하기 (0) | 2020.09.08 |
---|---|
[엑셀vba] 사용자 정의 폼 실행 중에 컨트롤 추가하기 (3) | 2020.09.08 |
[엑셀vba] 파워포인트 제어하기 (0) | 2020.08.27 |
[엑셀vba] 내가 만든 매크로 추가 기능에 추가하기 (0) | 2020.07.23 |
[엑셀vba] 인터넷 익스플로러 컨트롤하기 4(이미지 다운로드) (0) | 2020.07.04 |