以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  发现一个bug  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42015)

--  作者:bjhxjxcl
--  发布时间:2013/11/1 16:21:00
--  发现一个bug

在使用BeforeOpenFile事件时,e.FileName参数不包括路径


--  作者:Bin
--  发布时间:2013/11/1 16:28:00
--  
呵呵,确实有这个问题,坐等狐爸修复..

现在暂时用拼接默认路径的方式完成吧.   e.DataCol.DefaultFolder  & e.FileName

--  作者:bjhxjxcl
--  发布时间:2013/11/1 16:32:00
--  

使用BeforeOpenFile事件下列代码时,打开文件提示找不到指定文件,不能进行文件复制,但能打开原文件。

If e.DataCol.Name = "合同文本" Then
    Dim fn As String = ProjectPath & "temp\\" & FileSys.GetName(e.Filename) \'新的文件名和路径
    FileSys.CopyFile(e.FileName, fn) \'复制文件
    e.FileName = fn \'指定要打开的文件为新复制的文件
End If

 

后在代码中增加全局变量查询

 

If e.DataCol.Name = "合同文本" Then
    Dim fn As String = ProjectPath & "temp\\" & FileSys.GetName(e.Filename) \'新的文件名和路径
Vars("p_tdpjxmtn") = e.FileName
Vars("p_pjxmlxzd") = fn
    FileSys.CopyFile(e.FileName, fn) \'复制文件
    e.FileName = fn \'指定要打开的文件为新复制的文件
End If

 

在命令窗口中显示全局代码:

Output.Show(Vars("p_tdpjxmtn"))
Output.Show(Vars("p_pjxmlxzd"))

 

显示结果:

hr诊断报告.ppt
D:\\jnzy\\法审管理\\temp\\hr诊断报告.ppt


--  作者:Bin
--  发布时间:2013/11/1 16:36:00
--  
确实是BUG,请看2楼!
--  作者:bjhxjxcl
--  发布时间:2013/11/1 16:37:00
--  
好吧,坐等
--  作者:狐狸爸爸
--  发布时间:2013/11/1 16:50:00
--  

呵呵,这个不算是bug,传递给这个事件的文件名,就是文件列中的文件名,默认是不包括路径的.

按二楼bin的方法处理吧


--  作者:Bin
--  发布时间:2013/11/1 16:53:00
--  
不是BUG那就是帮助描述有误罗

FileName: 返回或设置即将打开的文件,含路径。

--  作者:狐狸爸爸
--  发布时间:2013/11/1 17:02:00
--  
呵呵,收到。