본문 바로가기
  • Welcome!
VBA For Creo

모듈화 구성 해보기

by ToolBOX01 2022. 10. 11.
반응형

프로그래밍에서 반복되는 동일한 패턴의 코드를 모듈화하는 것은 생산성 향상과 오류를 줄이는데 아주 중요한 요소입니다. VBA에서는 Sub와 Function 을 이용해 코드를 모듈화하고 필요한 곳에서 모듈화된 코드를 호출할 수 있습니다.

 

 

[VBA] 'Sub'와 'Function' 완벽 가이드

이 포스트는 Excel Macro Mastery 사이트의 'The Complete Guide to the VBA Sub(by Paul Kelly)'의 내용을 다시 정리한 것입니다. 이번 포스트에서는 엑셀 서브루틴(Sub)과 함수(Function)에 대해 다룹니다..

kukuta.tistory.com

아래 코드는 메인 프로그램 에서 3개의 서브 프로시져를 불러오는 기능 입니다.  프로시저를 호출하기 위해서 'Call'이라는 명시적인 키워드가 있습니다.Call 키워드는 생략 가능한 선택 사항입니다. 실제 VBA 프로그래밍에서는 잘 사용하지 않습니다.

Sub Main()
	Call CopyData
	Call AddFormulas
	Call FormatData
End Sub

 


■ 프로그램 테스트

MAIN 함수는 현재 활성화된 모델을 연결 하는 기능 입니다.  하위 SUB 프로시저와 함께 사용하는 변수는 "전역" 변수로 설설정 합니다.  "Public oSession As IpfcBaseSession" 정의

 

Public oSession As IpfcBaseSession
Sub Main()

    Dim asynconn As New pfcls.CCpfcAsyncConnection
    Dim conn As pfcls.IpfcAsyncConnection: Set conn = asynconn.Connect("", "", ".", 5)
    Set oSession = conn.Session
    Dim oModel As IpfcModel: Set oModel = oSession.CurrentModel

    Filelist
    
    'Disconnect with Creo
    conn.Disconnect (2)
    
End Sub

Sub Filelist()
    Dim oIstringseq As Istringseq
    Set oIstringseq = oSession.ListFiles("*.*", EpfcFILE_LIST_LATEST, "")
    
    Dim i As Long
    For i = 0 To oIstringseq.Count - 1
           Cells(i + 5, "A") = oIstringseq.item(i)
    Next i

End Sub

 

■ 프로그램 실행 결과

 

프로그램을 모듈화로 만들면, 프로그램 관리가 쉽고, 수정도, 재활용도 쉽습니다. 전역 변수를 표준화 하고 사용 한다면.

프로그램 모듈화는 가능 합니다.