Я пытаюсь создать макрос Solidworks с помощью VBA.
Идея заключалась в том, чтобы импортировать файл DXF из определенной папки.
Первый этап: сканирование всех существующих файлов DXFfile методом Dir (выполнено)
Второй этап: добавить имя файла в комбинированный список с помощью .AddItem FileName (выполнено)
Третий этап: получить значение выбранного комбинированного списка из модуля (проблема)
ниже - это моеприблизительный код
'Within UserForm
Public folderpath, filepath, FileName as String
Public fullpath as String
Private Sub UserForm_Initialize()
folderpath = "insert path"
filepath = folderpath & "*.dxf"
FileName = Dir(filepath)
Do Until FileName = ""
With ComboBox1
.AddItem FileName
End With
FileName = Dir
Loop
'The FileName was added to ComboBox1 successfully
End Sub
Private Sub ComboBox1_Change()
fullpath = folderpath & ComboBox1.Value
'It returns the fullpath no problem
Debug.Print fullpath
End Sub
Здесь возникает проблема
'Import Module
Sub import()
Dim UserForm1 as New Form
'Here I tried to test if the fullpath is successfully called within the module, but it returns nothing
Debug.Print Form.fullpath
'Ignore the SW codes
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("FRONT", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Dim myFeature As Object
Set myFeature = Part.FeatureManager.InsertDwgOrDxfFile(Form.fullpath)
End Sub
Я объявил, что для всего пути установлено значение Public, которое должно быть доступно для чтения всем модулям.Он отлично работает с TextBox, но не с ListBox или ComboBox.Есть идеи?