PTC Creo Parametric (3D CAD 소프트웨어)와 Excel VBA를 연결하는 코드 자동화 매크로의 초기화 단계로 사용되고 매번 코드 작성시 반복하여 사용 합니다. 코드 작성 할때마다 반복덕으로 입력 해야 합니다. 별도의 라이브러리 만들어 사용한다면, 매번 입력할 필요는 없습니다. Creo VBA 공통 초기화 코드를 라이브러리 모듈로 만드는 방법입니다.
설계 구조
| [라이브러리 모듈: CreoLib.bas] │ ├─ ConnectCreo() → 연결 ├─ DisconnectCreo() → 연결 해제 ├─ GetCurrentModel() → 모델 반환 ├─ GetSolid() → Solid 반환 └─ WriteModelInfo() → 시트에 정보 기록 [각 업무 모듈] │ └─ Call ConnectCreo() 로 호출 |
라이브러리 모듈 코드
CreoVBAStart는 VBA 모듈(Module) 이름입니다. 독립된 라이브러리 파일이 아니라, 동일한 Excel .xlsm 파일 안에 존재하는 별도의 모듈입니다.이 모듈의 역할은 Creo(PTC CAD 소프트웨어)와 VBA를 연결(connect) 하는 것으로, 다른 모듈들이 공통으로 재사용할 수 있도록 분리해 둔 것입니다.
Option Explicit
Public conn As pfcls.IpfcAsyncConnection
Public model As pfcls.IpfcModel
Public Sub VBAStart()
'// connect creo model
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim BaseSession As pfcls.IpfcBaseSession
Dim solid As IpfcSolid
Set conn = asynconn.Connect("", "", ".", 5)
Set BaseSession = conn.Session
Set model = BaseSession.CurrentModel
Set solid = model
'// creo model connection check
If model Is Nothing Then
MsgBox "There are No Active Creo Models", vbInformation, "https://tool-2020.tistory.com/"
Exit Sub
End If
'// Current Model Information
Worksheets("Feature Table").Cells(2, "D") = BaseSession.GetCurrentDirectory
Worksheets("Feature Table").Cells(3, "D") = model.Filename
End Sub
📞 Call CreoVBAStart.VBAStart 호출 방법
| Sub FeatureInfo() Call CreoVBAStart.VBAStart ' ← 다른 모듈에서 호출 ' 이후 conn, model 변수를 바로 사용 가능 Set ModelOwner = model ... End Sub |
VBA에서 다른 모듈의 프로시져를 호출할 때 모듈명.프로시져명 형식을 사용합니다. Call은 생략도 가능하지만 명시적으로 쓴 것입니다.
| 문법 구조: Call [모듈이름].[프로시져이름] Call CreoVBAStart . VBAStart ↑ 모듈명 ↑ Sub 이름 |
유튜브 동영상

by korealionkk@gmail.com
'업무 자동화 > VBA, VB.NET For Creo' 카테고리의 다른 글
| Parameter 값을 읽기/ 쓰기 (0) | 2026.05.09 |
|---|---|
| 초보자를 위해 . . . . Feature 정보 가져오기 #2 - Type (0) | 2026.05.07 |
| 초보자를 위해 . . . . Feature 정보 가져오기 #1 (0) | 2026.05.06 |
| 초보자를 위해 . . . . IpfcBaseSession 환경설정 기능 (0) | 2026.05.04 |
| 초보자를 위해 . . . . IpfcBaseSession 세션에 로드된 모델을 찾기 (0) | 2026.05.04 |