본문 바로가기
  • Welcome!
VBA SOLIDWORK

사용자로부터 파일을 선택 하는, 파일 열기 대화 상자를 표시

by ToolBOX01 2024. 11. 23.
반응형

SOLIDWORKS API를 사용하여, 사용자로부터 파일을 선택하도록 요청하는, 파일 열기 대화 상자를 표시하는 VBA 매크로의 예제 입니다. 이 코드는 다음과 같은 작업을 위한 매크로 개발에 유용합니다:

  1. 사용자가 선택한 파일을 열기.
  2. 참조 파일 추가.
  3. 파일 경로를 기반으로 특정 작업 실행(예: 일괄 처리).

▷CODE

  • 전제 조건: Immediate 창을 엽니다.
  • 사후 조건:
    1. 첨부할 파일 대화 상자를 표시하고 필터에 지정된 파일 유형을 나열합니다.
    2. Immediate 창을 검사합니다.
Immediate Window VBA 에디터
Immediate Window는 코드에서 인쇄된 출력 메시지를 수집하는 콘솔입니다.

Immediate Window는 일반적으로 디버깅 및 문제 해결에 사용되어 변수의 로그 또는 현재 상태를 출력하는 간단한 방법입니다.

이 창을 활성화하려면 View->Immediate Window 명령 또는 
Ctrl+G 단축키를 클릭합니다.

창은 VBA 편집기의 모든 패널에 도킹할 수 있습니다.

이 창에 메시지를 출력하려면 Debug.Print 명령을 사용합니다.

변수에 포함된 값을 알수 있습니다.

 

하드디스크의  폴더에 "*.sldprt; *.sldasm; *.slddrw" 3가지 유형의 파일을 선택 합니다.
Open된 솔리드웍 파일 이름을 VBA 에디터 콘솔에 표시 합니다.

Option Explicit
Public swApp As SldWorks.SldWorks
'// Public swModel As SldWorks.ModelDoc2

Sub main01()
    Dim Filter As String
    Dim fileName As String
    Dim fileConfig As String
    Dim fileDispName As String
    Dim fileOptions As Long    
    Set swApp = Application.SldWorks
    '// 필터 문자열에는 세 개의 필터가 있습니다.
    '// 문자 사이에 "|"를 주의 하십시요
    Filter = "SOLIDWORKS Files (*.sldprt; *.sldasm; *.slddrw)|*.sldprt;*.sldasm;*.slddrw|Filter name (*.fil)|*.fil|All Files (*.*)|*.*|"
    fileName = swApp.GetOpenFileName("File to Attach", "", Filter, fileOptions, fileConfig, fileDispName)
    Debug.Print fileName
End Sub

 

▷ " Application.SldWorks " 함수는 파일 선택 대화 상자를 엽니다.
Public swApp As SldWorks.SldWorks 
Set swApp = Application.SldWorks

 

  1. Title: 대화 상자의 제목(예: "File to Attach").
  2. InitialDirectory: 초기 디렉터리(여기선 빈 문자열로 현재 디렉터리를 사용).
  3. Filter: 사용자가 볼 수 있는 파일 형식.
  4. fileOptions: 사용자가 선택한 옵션을 반환하는 출력 매개변수.
  5. fileConfig: 선택한 파일의 구성 이름을 반환.
  6. fileDispName: 선택된 파일의 표시 이름 반환.

 

VBA 개발환경 설정 방법