hi. i am using below code.
objform = objAddOn.objApplication.Forms.Item(FormUID)
If pval.ItemUID = "Browse2" Then
Try
objform = objAddOn.objApplication.Forms.ActiveForm
ShowFolderBrowserThread = New Threading.Thread(AddressOf ShowFolderBrowser)
If ShowFolderBrowserThread.ThreadState = Threading.ThreadState.Unstarted Then
ShowFolderBrowserThread.SetApartmentState(Threading.ApartmentState.STA)
ShowFolderBrowserThread.Start()
ShowFolderBrowserThread.Join()
Else
ShowFolderBrowserThread.Abort()
End If
'Selected path should be copy to edit box..
oedit = objform.Items.Item("36").Specific
oedit.String = strpath
ShowFolderBrowserThread.Abort()
Catch ex As Exception
End Try
End If
===
Public Sub ShowFolderBrowser()
' Try
Dim MyTest As New OpenFileDialog
Dim MyProcs() As Process
MyProcs = Process.GetProcessesByName("SAP Business One")
Dim i As Integer = 0
If MyProcs.Length >= 1 Then
'For i As Integer = 0 To MyProcs.Length - 1
Dim MyWindow As New WindowWrapper(MyProcs(i).MainWindowHandle)
MyTest.InitialDirectory = "C:\"
MyTest.Filter = "All files (*.xlsx)|*.xlsx|All files (*.xlsx)|*.xlsx"
'MyTest.ShowDialog(MyWindow)
If MyTest.ShowDialog(MyWindow) = DialogResult.OK Then
strpath = MyTest.FileName
'ShowFolderBrowserThread.Abort()
Else
'ShowFolderBrowserThread.Abort()
End If
' Next
Else
objAddOn.objApplication.MessageBox("No SBO instances found.")
'ShowFolderBrowserThread.Abort()
End If
ShowFolderBrowserThread.Abort()
'Catch ex As Exception
' SBO_Application.MessageBox(ex.Message)
' ShowFolderBrowserThread.Abort()
'End Try
End Sub