点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨..
我需要您的宝贵建议。.我知道这是sap b1的sdk
但是我需要在 vb.net
上输入一些信息我有一个矩阵。.我的要求是我想从Excel工作表上传到矩阵。
但是我在一个编辑框旁边放了一个按钮。
我想浏览该文件夹,但是在我按下按钮opendialog后不显示...(浏览选项)
在某些机器上,以下代码不起作用,在某些机器上,以下代码不起作用...
我可以知道为什么吗
假设我在系统中运行,如果我运行的源代码浏览选项不起作用
但是如果我在系统中运行具有相同版本的ard,则浏览选项正在运行,那么我的源代码中没有断点。
我测试了几次,发现这是问题所在。
在其他系统ard和源代码中正常工作。
但是最近我发现在某些系统中也使用ard不能正常工作...
我需要您的宝贵建议...
这是我的代码。
我需要您的宝贵建议。
我尝试了论坛中存在一些帖子。
但这也不起作用...
Windows包装器
----------------------------------
公共类WindowWrapper
实现System.Windows.Forms.IWin32Window
私有_hwnd作为IntPtr
Public Sub New(ByVal句柄为IntPtr)
_hwnd =句柄
结束子
System.IntPtr实现System.Windows.Forms.IWin32Window.Handle的公共ReadOnly属性Handle()
获取
返回_hwnd
结束获取
最终财产
结束班级
在单击按钮时
--------------------------------------------
'测试
尝试
如果(pVal.FormUID =" BOQ"和pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED和pVal.BeforeAction = True且pVal.ItemUID =" 42")然后
'如果pVal.FormMode = SAPbouiCOM.BoFormMode.fm_ADD_MODE那么
oForm = SBO_Application.Forms.Item(" BOQ")
尝试
oForm = SBO_Application.objApplication.Forms.ActiveForm
oForm = SBO_Application.Forms.ActiveForm
ShowFolderBrowserThread =新线程.Thread(AddressOf ShowFolderBrowser)
如果ShowFolderBrowserThread.ThreadState = Threading.ThreadState.Unstarted然后
ShowFolderBrowserThread.SetApartmentState(Threading.ApartmentState.STA)
ShowFolderBrowserThread.Start()
ShowFolderBrowserThread.Join()
其他
ShowFolderBrowserThread.Abort()
如果结束
'其他
'ShowFolderBrowserThread =新线程。Thread(AddressOf ShowFolderBrowser)
'如果ShowFolderBrowserThread.ThreadState = System.Threading.ThreadState.Unstarted然后
'ShowFolderBrowserThread.SetApartmentState(System.Threading.ApartmentState.STA)
'ShowFolderBrowserThread.Start()
'ElseIf ShowFolderBrowserThread.ThreadState = System.Threading.ThreadState.Stopped然后
'ShowFolderBrowserThread.Start()
'ShowFolderBrowserThread.Join()
'如果结束
'而ShowFolderBrowserThread.ThreadState = Threading.ThreadState.Running
'Windows.Forms.Application.DoEvents()
'结束时间
oedit = oForm.Items.Item(" 43")。特定
oedit.String = strpath
ShowFolderBrowserThread.Abort()
例外捕获
SBO_Application.MessageBox(例如消息)
结束尝试
如果结束
例外捕获
SBO_Application.MessageBox(例如消息)
结束尝试
--------------------
Public Sub ShowFolderBrowser()
'尝试
将MyTest设置为新的OpenFileDialog
将MyProcs()视作进程
MyProcs = Process.GetProcessesByName(" SAP Business One")
Dim i As Integer = 0
如果MyProcs.Length> = 1那么
"对于i作为整数= 0到MyProcs.Length-1
将MyWindow设置为新的WindowWrapper(MyProcs(i).MainWindowHandle)
MyTest.InitialDirectory =" C:\"
MyTest.Filter ="所有文件(* .xlsx)| * .xlsx |所有文件(* .xls)| * .xls"
'MyTest.ShowDialog(MyWindow)
如果MyTest.ShowDialog(MyWindow)= DialogResult.OK,则
strpath = MyTest.FileName
'ShowFolderBrowserThread.Abort()
其他
'ShowFolderBrowserThread.Abort()
如果结束
'下一步
其他
SBO_Application.objApplication.MessageBox("未找到SBO实例。")
'ShowFolderBrowserThread.Abort()
如果结束
ShowFolderBrowserThread.Abort()
'作为例外捕获
'SBO_Application.MessageBox(例如消息)
'ShowFolderBrowserThread.Abort()
'结束尝试
结束子
嗨,
您确定文件对话框根本没有打开吗? 由于Windows对话框可以在" SBO客户端"后面打开,这是一个老问题,并且由于它们没有任务栏图标,因此好像没有显示。
尝试最小化所有打开的窗口。
您可以在SCN中找到很多有关此问题的讨论。
致谢
Maik
这似乎与之相关:
关于这个/类似问题的讨论很多,很多都以结尾 加上"它不起作用",所以我想还有另外一个角度(与操作系统相关,用户特权...)
问候,
Maik
一周热门 更多>