이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
아별님.
안녕하세요.
잘 지내시겠죠? 한양대 쪽으로 갈 일이 없어 뵙기가 잘 안되네요.
정모 하신다고 했는데 언제 하시나요? 꼭 참석하겠습니다.
오늘 질문은 간단한 것입니다.
그동안 작성한 프로그램이 꽤 되는 것 같은데 전체 VBA 프로그램을 외부 텍스트 파일로 추출하는 것은 어떻게 하나요.(기왕이면 모듈내용만이 아니라 폼이미지 까지면 더욱 좋구요)
각 파일마다 많은 모듈들이 있고 여러개의 파일에 프로그램을 작성한지라 유사 프로그램을 보고 싶으면 그 파일을 열어서 모듈을 찾아가야 원하는 것을 볼 수 있는데 텍스트 파일로 추출하여 보관하면 좋을 것 같아서요.
어차피 프로그램 소스도 형상관리가 필요하고 일부는 제출할 필요도 있어서 궁금한차에 연락도 드릴 겸 문의를 드립니다.
비가 와서 감기걸리기 쉬운 날씨네요.
건강 조심하세요.
댓글 '4'
아참.. 아래의 게시물을 참고해보세요..
http://www.examo.co.kr/ 에 먼저 로그인 한 다음 아래 링크 클릭하세요..
http://www.examo.co.kr/tn7/board.php?board=qqqtip&command=body&no=1037
모듈을 자동으로 업데이트하는 팁입니다.
엑셀 옵션 > "보안센터" > "보안센터설정" > "매크로설정" > "VBA 프로젝트 개체 모델에 안전하게 엑세스할 수 있음"을 체크해줘야 작동합니다.
해당 게시물에는 관련 command bar를 실행시켜주는 코드도 포함되어 있네요.
Set c = Application.CommandBars.FindControl(ID:=3627)
c.Execute '명령버튼을 실행한다
모듈을 제거하거나 불러오는 코드는 아래와 같습니다. 참고하세요..
ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents(5)
ThisWorkbook.VBProject.VBComponents.Import "D:\Documents\Excel\ModuleName.bas"
안녕하세요?
엑셀대단해님의 "간단한것"의 정의가 궁금하네요..
저에게는 어떠한 질문도 간단한게 없습니다.
회원님들이 이해할 수 있도록 설명하는게 어렵기 때문이죠.
모듈은 아래처럼 export시키시면 되구요..
Application.VBE.ActiveVBProject.VBComponents.Item("모듈명").Export ("D:\Documents\Excel\test.bas")
유저폼도 똑같은 방식으로 export시키시면 됩니다.
Application.VBE.ActiveVBProject.VBComponents.Item("유저폼이름").Export("D:\Documents\Excel\ufrm.frm")
다만.. 확장자에 주의를 해주세요..
모듈은 .bas
유저폼은 .frm
입니다.
여러개를 한번에 Export하려면 아래의 코드처럼 하면 되겠죠..
'### VBA 모듈 및 유저폼 등 컴포넌트 항목 화일로 내보내기
'### Created by abyul.com 2012.03.05 PM10:56
Sub testExportVBComponents()
Dim i As Long, strExtension As String
With Application.VBE.ActiveVBProject.VBComponents
For i = 1 To .Count
Select Case .Item(i).Type
Case 100: strExtension = ".cls"
Case 1: strExtension = ".bas"
Case 3: strExtension = ".frm"
End Select
.Item(i).Export ("D:\Documents\Excel\" & .Item(i).Name & strExtension)
Next i
End With
End Sub
도움이 되셨기를..