CREO 모델의 사이즈를 구하는 VBA 코드는 다음과 같이 작성할 수 있습니다.
Public Function GetModelSize(ByVal filePath As String) As Double
'CREO 모델 파일 경로 지정
Dim modelFilePath As String
modelFilePath = filePath
'CREO Application 객체 생성
Dim app As Object
Set app = CreateObject("pfcCreoApplication.CreoApplication")
'Model Descriptor 객체 생성
Dim modelDesc As Object
Set modelDesc = app.GetModelDescriptorFromFileName(modelFilePath)
'Model 객체 생성
Dim model As Object
Set model = modelDesc.Model
'Model Size 구하기
Dim size As Double
size = model.GetSize / 1024 '크기를 KB 단위로 반환하므로, 1024로 나누어 MB 단위로 변환
'객체 해제
Set model = Nothing
Set modelDesc = Nothing
Set app = Nothing
'Model Size 반환
GetModelSize = size
End Function
위 코드에서 GetModelSize 함수는 CREO 모델 파일의 경로를 인자로 받아 해당 파일의 사이즈를 반환합니다.
함수 내부에서는 CreateObject 함수를 사용하여 CREO Application 객체를 생성하고, GetModelDescriptorFromFileName 함수를 사용하여 Model Descriptor 객체를 생성합니다. 그 후, Model 속성을 사용하여 Model 객체를 생성하고, GetSize 함수를 사용하여 Model 파일의 크기를 KB 단위로 반환합니다.
마지막으로, 반환된 값에서 1024로 나누어 MB 단위로 변환한 뒤, 객체를 해제하고 함수를 종료합니다.
사용 예시:
Sub Test()
Dim size As Double
size = GetModelSize("C:\Users\example\model.prt")
Debug.Print size & " MB"
End Sub