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

VBA에서 Session 개요

by ToolBOX01 2024. 1. 1.
반응형

□ Session 개체 개요

Session 개체(IpfcSession 클래스에 포함됨)는 VB API에서 가장 높은 수준의 개체입니다. 데이터에 액세스하는 모든 프로그램은 보다 구체적인 데이터에 액세스하기 전에 먼저 IpfcSession 개체에 대한 핸들을 가져와야 합니다.

IpfcSession 개체에는 다음 작업을 수행하는 메서드가 포함되어 있습니다.
• Model 및 Window에 액세스합니다.
• 사용자 인터페이스 작업.
• 세션 내에서 항목을 대화식으로 선택할 수 있습니다.
• 선 스타일, 색상, 구성 옵션과 같은 전역 설정에 액세스합니다.

▷ Directories  Code

IpfcBaseSession.GetCurrentDirectory : 현재 작업 디렉토리의 절대 경로 이름을 반환합니다. 

    Dim asynconn As New pfcls.CCpfcAsyncConnection
    Dim conn As pfcls.IpfcAsyncConnection
'// Check Creo Connect
    Set conn = asynconn.Connect("", "", ".", 5)
        
    Dim BaseSession As pfcls.IpfcBaseSession
    Dim model As pfcls.IpfcModel

    Set BaseSession = conn.session
    Set model = BaseSession.CurrentModel
    MsgBox BaseSession.GetCurrentDirectory

 

IpfcBaseSession.ChangeDirectory() : 다른 작업 디렉터리로 변경됩니다.

Dim BaseSession As pfcls.IpfcBaseSession
    Dim model As pfcls.IpfcModel

    Set BaseSession = conn.session
    Set model = BaseSession.CurrentModel
    Call BaseSession.ChangeDirectory("c:\idt\work90\")

 

File Handling  Code

IpfcBaseSession.ListFiles() ; 주어진 디렉토리 경로에 따라 디렉토리의 파일 목록을 반환합니다. 파일 확장자로 지정된 특정 유형의 파일만 포함하도록 목록을 필터링할 수 있습니다.

    Dim BaseSession As pfcls.IpfcBaseSession
    Dim liststring As Istringseq
    Dim i As Integer

    Set BaseSession = conn.session
    Set liststring = BaseSession.ListFiles("*.prt", EpfcFILE_LIST_LATEST, "c:\idt\work90\")
    
    For i = 0 To liststring - 1
        Cells(i + 1, "C") = liststring.item(i)
    Next i

 

IpfcBaseSession.ListSubdirectories() : 지정된 디렉터리 위치의 하위 디렉터리를 나열합니다.

 

    Dim BaseSession As pfcls.IpfcBaseSession
    Dim liststring As Istringseq
    Dim i As Integer

    Set BaseSession = conn.session
    Set liststring = BaseSession.ListSubdirectories("c:\idt\work90\")
    
    For i = 0 To liststring - 1
        Cells(i + 1, "C") = liststring.item(i)
    Next i

 

Colors and Line Styles  Code

IpfcBaseSession.SetStdColorFromRGB()  :
Creo Parametric에서 표준 색상에 대한 세 가지 색상 구성요소의 값을 설정할 수 있습니다.

Dim BaseSession As pfcls.IpfcBaseSession
Dim CreateColorRGB As CCpfcColorRGB
Dim ColorRGB As IpfcColorRGB

Set BaseSession = conn.session
Set ColorRGB = CreateColorRGB.Create(0, 0, 0)
Call BaseSession.SetStdColorFromRGB(EpfcStdColor.EpfcCOLOR_BACKGROUND, ColorRGB)

 


IpfcSession 개체에는 인터페이스와 함께 작동하는 메서드가 있습니다. 이러한 메서드는 메시지 창에 대한 액세스를 제공합니다.

□ The Text Message File

텍스트 메시지 파일은 사용자 인터페이스에 표시되는 문자열을 정의하는 곳입니다. 여기에는 숫자에 추가하는 명령 버튼의 문자열, 사용자 커서가 해당 명령 버튼 위에 위치할 때 표시되는 도움말 문자열, 메시지 창에 표시되는 텍스트 문자열이 포함됩니다. 문자 메시지 파일의 각 문자열에 대한 번역을 포함할 수 있는 옵션이 있습니다.

문자 메시지 파일에 대한 제한 사항 메시지 파일 이름을 지정할 때 다음 제한 사항을 준수해야 합니다.

• 파일 이름은 확장자를 포함하여 30자 이하여야 합니다.
• 파일 이름에는 소문자만 포함되어야 합니다.
• 파일 확장자는 3자여야 합니다.
• 버전 번호는 1~9999 범위에 있어야 합니다.
• 모든 메시지 파일 이름은 고유해야 하며 모든 메시지 키 문자열은 으로 실행되는 모든 애플리케이션에서 고유해야 합니다. 중복된 메시지 파일 이름이나 메시지 키 문자열로 인해 예기치 않은 동작이 발생할 수 있습니다. 외부 응용 프로그램 메시지 파일 또는 메시지 키 문자열의 이름과의 충돌을 방지하려면 응용 프로그램에 고유한 접두사를 선택하고 각 메시지 파일 이름과 해당 응용 프로그램에 해당하는 각 메시지 키 문자열 앞에 해당 접두사를 추가하는 것이 좋습니다.

메시지 파일은 세션 중 한 번만 로드됩니다. 가 실행되는 동안 메시지 파일을 변경하는 경우 변경 사항이 적용되기 전에 종료하고 다시 시작해야 합니다.

메시지 파일의 내용

메시지 파일은 작성하려는 각 메시지당 한 그룹씩 4줄의 그룹으로 구성됩니다. 네 줄은 다음과 같습니다.
1. 메시지의 식별자 역할을 하는 문자열입니다. 이 키워드는 모든 메시지에 대해 고유해야 합니다.
2. 식별자로 대체될 문자열입니다. 이 문자열에는 stringseq 개체에 저장된 런타임 정보에 대한 자리 표시자가 포함될 수 있습니다(메시지 창에 메시지 쓰기 참조).
3. 메시지를 다른 언어로 번역합니다(비어 있을 수 있음).
4. 향후 확장을 위해 의도적으로 빈 줄을 예약했습니다.

IpfcSession.UIShowMessageDialog() :  UI 메시지 대화 상자를 표시합니다.

 

 

#2 - Hello 메세지 표시하기

CREO VBA 환영 메세지 표시 CREO 화면에 환영 메세지를 표시하는 프로그램 입니다. 엑셀 화면에서 "적용" 버튼을 클릭 합니다. CREO 화면에 환영 메세지가 표시 됩니다. 환영 메세지를 변경 하려면 엑

tool-2020.tistory.com