VBA SOLIDWORK

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

ToolBOX01 2024. 11. 23. 13:39

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 개발환경 설정 방법