▷ Sub AuthenticateBrowser ()
Sub AuthenticateBrowser (Username as String, Password as String)
Creo Parametric에서 브라우저를 인증하는 역할을 합니다. 즉, Creo 내에서 사용하는 외부 웹 서비스나 데이터베이스에 접근하기 위해 필요한 사용자 인증 정보(사용자 이름과 비밀번호)를 제공하는 기능입니다. "Function GetActiveServer () as IpfcServer [optional]" 등의 함수와 결합하여 사용 합니다
함수의 동작:
- 인증 정보 전달: 제공된 사용자 이름과 비밀번호를 브라우저에 전달합니다.
- 인증 확인: 브라우저는 전달된 정보를 바탕으로 사용자를 인증합니다.
- 인증 성공 시: 사용자는 브라우저를 통해 관련 서비스나 데이터에 접근할 수 있는 권한을 얻게 됩니다.
- 인증 실패 시: 오류 메시지가 발생하거나, 접근이 제한될 수 있습니다.
▷ Sub ChangeDirectory ()
Sub ChangeDirectory (Path as String)
Creo Parametric의 작업 디렉토리를 다른 디렉토리로 변경하는 기능을 제공합니다. 이 메서드를 사용할 때 다음과 같은 예외가 발생할 수 있습니다:
- IpfcXToolkitCantAccess
지정된 디렉토리에 접근할 수 없는 경우 발생합니다. - IpfcXToolkitInvalidName
잘못된 디렉토리 이름을 지정한 경우 발생합니다.
작업 디렉토리를 변경 하려면, 경로(path)입력 해야 합니다 경로 (path)는 2가지 방법이 있습니다.
1. 절대 경로 (Absolute Path)
디렉토리 경로를 전체 경로로 지정합니다.
예: C:\Users\username\Documents\CreoProjects
1. 상대 경로 (Relative Path)
현재 작업 디렉토리를 기준으로 상대적인 경로를 지정합니다.
예: 현재 디렉토리가 C:\Users\username\Documents라면,
CreoProjects 디렉토리를 상대 경로로 .\CreoProjects라고 지정할 수 있습니다.
절대 경로 예제 코드
Dim targetPath As String
' 절대 경로로 디렉토리 변경
targetPath = "C:\Users\username\Documents\CreoProjects" ' 절대 경로
Call creoSession.ChangeDirectory(targetPath)
MsgBox "Working directory changed to absolute path: " & targetPath, vbInformation, "Directory Changed"
상대 경로 예제 코드
Dim targetPath As String
' 상대 경로로 디렉토리 변경
targetPath = ".\CreoSubFolder" ' 상대 경로
Call creoSession.ChangeDirectory(targetPath)
MsgBox "Working directory changed to relative path: " & targetPath, vbInformation, "Directory Changed"
▷ Sub EraseUndisplayedModels ()
Erases models which are not used in any Creo Parametric windows.
IpfcBaseSession의 sub method에 대해 알아 보았습니다. IpfcBaseSession에는 다양한 sub method가 있습니다. VBA API 문서에는 자세히 설명 되어 있습니다. 하위 클래스인 "IpfcSession"도 함께 학습해 보십시요
예외 처리 (오류 처리)
ErrorHandler의 목적
- 에러 정보를 사용자에게 알림
- 예기치 못한 문제가 발생했음을 사용자에게 알립니다.
- 디버깅 시 에러 원인을 쉽게 파악할 수 있도록 돕습니다.
- 코드 중단 방지
- 에러 발생 시 프로그램이 강제로 종료되는 것을 방지합니다.
- 에러를 적절히 처리하거나 안전하게 종료하는 방법을 제공합니다.
▷ 일반적인 오류 처리 구문
Sub ChangeCreoWorkingDirectory()
Dim creoSession As IpfcBaseSession
Dim asyncConnection As IpfcAsyncConnection
Dim targetPath As String
On Error GoTo ErrorHandler
.
.
Exit Sub
ErrorHandler:
MsgBox "An error occurred: " & Err.Description, vbCritical, "Error"
End Sub
1. ErrorHandler:
라벨(Label)입니다. 에러가 발생했을 때 On Error 구문에 의해 실행 흐름이 이 라벨로 점프합니다.
2. MsgBox
MsgBox는 메시지 박스를 표시하는 함수입니다. 이 코드는 에러 메시지를 포함한 경고창을 표시합니다.
1) "An error occurred:": 에러 발생 알림 메시지입니다.
2) Err.Description: 발생한 에러의 상세 설명(설명 텍스트)을 제공합니다.
3) vbCritical: 메시지 박스에 에러 아이콘(빨간색 X)을 표시합니다.
3) "Error": 메시지 박스의 제목입니다.
3. 에러 처리 흐름 :에러가 발생하면 아래와 같은 순서로 실행됩니다:
1) On Error GoTo ErrorHandler에 의해 에러 발생 시 실행 흐름이 ErrorHandler:로 이동합니다.
2) MsgBox로 에러 정보를 사용자에게 표시합니다.
3) 이후 코드 실행이 종료됩니다(Exit Sub이나 다른 흐름 제어 구문이 필요할 수 있음).
▷개선된 오류 처리 구문
ErrorHandler:
Dim errorMessage As String
errorMessage = "An error occurred in the process." & vbNewLine & _
"Error Number: " & Err.Number & vbNewLine & _
"Error Description: " & Err.Description
MsgBox errorMessage, vbCritical, "Error Occurred"
Resume Next ' 에러 발생 후 다음 줄로 계속 실행
개선 사항:
1. 에러 번호 (Err.Number): 에러의 고유 번호를 제공.
2. 더 많은 설명: 에러 메시지를 더 구체적으로 작성.
3. Resume Next: 에러가 발생한 뒤에도 다음 코드 실행을 이어가도록 설정(필요에 따라 사용).
'VBA, VB.NET For Creo' 카테고리의 다른 글
VB.NET 학습 사이트 (0) | 2025.01.17 |
---|---|
콜백 함수 (0) | 2025.01.15 |
Creo] Interface IpfcBaseSession 개념 (0) | 2025.01.13 |
선택된 폴더에서 Creo 파일 유형만 가져오는 코드 (0) | 2025.01.11 |
IpfcModelDescriptor (0) | 2025.01.08 |