■ Function 사용 하기 - Config.pro 옵션 값 가져오기
Function 프로시져는 프로그램을 실행 하고 Return 값을 줍니다.
IpfcBaseSession [Function] : GetConfigOption (Name as String) as String [optional]
지정된 구성 파일 옵션에 대한 현재 값을 검색합니다. 이 함수가 반환하는 구성 옵션 값의 최대 길이는 80 자입니다.
Return값은 구성 요소 값 입니다. 타입은 스트링 입니다.
예제) Config.pro 파일에서 "tol_display" 값을 스트링 타입으로 가져오고, 메세지 박스로 출력 합니다.
Sub config()
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection
Dim session As pfcls.IpfcBaseSession
Dim oValue As String
Set conn = asynconn.Connect("", "", ".", 5)
Set session = conn.session
oValue = session.GetConfigOption("tol_display")
msgbox oValue
'Disconnect with Creo
conn.Disconnect (2)
'Cleanup
Set asynconn = Nothing
Set conn = Nothing
Set session = Nothing
Set model = Nothing
End Sub
■ Function 사용 하기 - 지정된 폴더 안에 있는 "*.drw" 파일 카운트
IpfcBaseSession [Function] : ListFiles (Filter as String, Version as IpfcFileListOpt, Path as String [optional]) as Istringseq
예제) 지정된 폴더에 포함돤 "Drawing" 파일 개수를 표시 합니다
Sub drwcount()
On Error GoTo RunError
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection
Dim oSession As pfcls.IpfcBaseSession
Dim oCstringseq As Cstringseq
Set conn = asynconn.Connect("", "", ".", 5)
Set oSession = conn.session
Set oCstringseq = oSession.ListFiles("*.drw", EpfcFILE_LIST_LATEST, "C:\idt\backup")
' 폴더 안에 있는 파일 개수를 표시 합니다
MsgBox oCstringseq.count
conn.Disconnect (2)
'Cleanup
Set asynconn = Nothing
Set conn = Nothing
Set oSession = Nothing
Set oModel = Nothing
RunError:
If Err.Number <> 0 Then
MsgBox "Process Failed : Unknown error occurred." + Chr(13) + _
"Error No: " + CStr(Err.Number) + Chr(13) + _
"Error: " + Err.Description, vbCritical, "Error"
If Not conn Is Nothing Then
If conn.IsRunning Then
conn.Disconnect (2)
End If
End If
End If
End Sub
▷ CStringSeq 함수
CStringSeq은 PTC Creo Parametric의 VBA API에서 사용되는 클래스 중 하나입니다. 이 클래스는 문자열 시퀀스를 나타내며, 일련의 문자열을 저장하고 관리하는 데 사용됩니다.
이 클래스는 예를 들어 특정 작업을 수행하거나 데이터를 저장하기 위해 여러 문자열을 관리하려는 경우에 유용합니다.
Set oCstringseq = oSession.ListFiles("*.drw", EpfcFILE_LIST_LATEST, "C:\idt\backup")
- 지정된 폴더에서 드로잉 파일의 정보를 가져 옵니다
"EpfcFILE_LIST_LATEST"은 이 열거 유형은 디렉토리에 파일을 나열할 때 반환되어야 하는 파일을 나타냅니다.
1. EpfcFILE_LIST_ALL
- List all files (including multiple versions of the same file).
2. EpfcFILE_LIST_LATEST
- List only the latest version of each file.
■ 특정 폴더에 있는 파일들 이름을 가져 오는 코드
Sub FileCount()
Dim asynconn As New pfcls.CCpfcAsyncConnection
Dim conn As pfcls.IpfcAsyncConnection:
Dim oSession As pfcls.IpfcBaseSession
Dim oPath As String
Dim oCstringseq As Cstringseq
On Error GoTo RunError
Set conn = asynconn.Connect("", "", ".", 5)
Set oSession = conn.session
oPath = "C:\idt\backup"
Set oCstringseq = oSession.ListFiles("*.*", EpfcFILE_LIST_LATEST, oPath)
Dim i As Long
For i = 0 To oCstringseq.count - 1
Cells(i + 1, "A") = oCstringseq.Item(i)
Next i
conn.Disconnect (2)
'Cleanup
Set asynconn = Nothing
Set conn = Nothing
Set oSession = Nothing
Set oModel = Nothing
RunError:
If Err.Number <> 0 Then
MsgBox "Process Failed : Unknown error occurred." + Chr(13) + _
"Error No: " + CStr(Err.Number) + Chr(13) + _
"Error: " + Err.Description, vbCritical, "Error"
If Not conn Is Nothing Then
If conn.IsRunning Then
conn.Disconnect (2)
End If
End If
End If
End Sub
영업 문의 : lionkk@idt21c.com
'VBA For Creo' 카테고리의 다른 글
VBA 기본 문법 (0) | 2021.01.12 |
---|---|
#4 IpfcBaseSession - sub (프로시저) (0) | 2021.01.11 |
#1 IpfcBaseSession 클래스 이해 - Sub ChangeDirectory (0) | 2021.01.11 |
Creo VBA 프로그래밍 고려 사항 (0) | 2021.01.10 |
IpfcSolid - 절대 정밀도 값 표시 (0) | 2021.01.09 |