Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

How to Open OpenFileDiologe Box from Business One

Hi....

I want to Select .txt File From Required Location. on click event of Button.

Please Help

Former Member
Former Member replied

Hi venkat,

use the following code on item pressed event..

Case SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED

Select Case pVal.ItemUID

Case "Btnbrowse"

Me.OpenFile()

end select

Private Sub OpenFile(ByRef BubbleEvent As Boolean)

Try

ShowFolderBrowserThread = New Threading.Thread(AddressOf ShowFolderBrowser)

If ShowFolderBrowserThread.ThreadState = ThreadState.Unstarted Then ShowFolderBrowserThread.SetApartmentState(ApartmentState.STA)

ShowFolderBrowserThread.Start()

ElseIf ShowFolderBrowserThread.ThreadState = ThreadState.Stopped Then

ShowFolderBrowserThread.Start()

ShowFolderBrowserThread.Join()

End If

Catch ex As Exception

sbo_application.MessageBox("OpenFile" & ex.Message)

End Try

Private Sub ShowFolderBrowser()

Dim MyTest As New OpenFileDialog

Dim MyProcs() As System.Diagnostics.Process

Dim filename As String

MyProcs = process.GetProcessesByName("SAP Business One")

If MyProcs.Length = 1 Then

For i As Integer = 0 To MyProcs.Length - 1

'// WindowWraper concepts are used to access open dialogue box of windows

Dim MyWindow As New WindowWrapper(MyProcs(i).MainWindowHandle)

MyTest.Filter = "Excel files (.xls)|.xls|Document files (.doc)|.doc|Presentation (.ppt)|.ppt|Adobe PDF Files (.pdf)|.pdf|Text Documents (.txt)|.txt" '|All Files (.)|."

'MyTest.InitialDirectory = "C:\Program Files\SAP\SAP Business One\Attachments"

'// Initial path for open dialogue box

'// We can change as per the requirements

MyTest.InitialDirectory = "C:\Program Files\SAP\SAP Business One\Attachments"

If MyTest.ShowDialog(MyWindow) = DialogResult.OK Then

filename = MyTest.FileName

.your validations........

.

.

Else

System.Windows.Forms.Application.ExitThread()

End If

end sub

Public Class WindowWrapper

Implements System.Windows.Forms.IWin32Window

Private _hwnd As IntPtr

Public Sub New(ByVal handle As IntPtr)

_hwnd = handle

End Sub

Public ReadOnly Property Handle() As System.IntPtr Implements System.Windows.Forms.IWin32Window.Handle

Get

Return _hwnd

End Get

End Property

End Class

to open the file you can use the follwing code on display button pressed.

Private Sub fileopen(ByVal filename As String)

'// Opening specified document with reference to the filename distributed

Try

System.Diagnostics.Process.Start(filename)

Catch ex As Exception

sbo_application.StatusBar.SetText("File Not Found in Specified Path:" & filename, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error)

End Try

End Sub

Regards,

Ganesh K

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question