以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  打开外部文件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103403)

--  作者:实话实说
--  发布时间:2017/7/7 10:02:00
--  打开外部文件
下面是打开外部文件的代码,一次只能打开一个文件。我想在文件名称中输入多个文件,(用文件编号)文件编号之间用逗号隔开,然后一次打开多个文件
If e.Table.AllowEdit = False Then \'如果锁表
    Dim file As String = CurrentTable.Current("文件名称")
    If FileSys.FileExists(file) Then \'如果文件存在
        Dim Proc As New Process \'定义一个新的Process
        Proc.File = file \'指定要打开的文件
        Proc.Start()
    Else
        messagebox.show("文件不存在","提示")
    End If
Else
    e.cancel = False \'进入编辑
End If

--  作者:有点甜
--  发布时间:2017/7/7 10:04:00
--  
If e.Table.AllowEdit = False Then \'如果锁表  
    For Each file As String In CurrentTable.Current("文件名称").split(",")
        If FileSys.FileExists(file) Then \'如果文件存在
            Dim Proc As New Process \'定义一个新的Process
            Proc.File = file \'指定要打开的文件
            Proc.Start()
        Else
            messagebox.show("文件" & file & "不存在","提示")
        End If
    Next
Else
    e.cancel = False \'进入编辑
End If
[此贴子已经被作者于2017/7/7 10:04:14编辑过]

--  作者:有点甜
--  发布时间:2017/7/7 10:05:00
--  

如果是多文件列

 

If e.Table.AllowEdit = False Then \'如果锁表  
    For Each file As String In CurrentTable.Current.DataRow.Lines("文件名称")
        If FileSys.FileExists(file) Then \'如果文件存在
            Dim Proc As New Process \'定义一个新的Process
            Proc.File = file \'指定要打开的文件
            Proc.Start()
        Else
            messagebox.show("文件" & file & "不存在","提示")
        End If
    Next
Else
    e.cancel = False \'进入编辑
End If


--  作者:实话实说
--  发布时间:2017/7/7 10:30:00
--  

2楼代码没反应,3楼代码找不到文件。我的文件名

\\\\吴厂\\文档管理$\\公司文件\\资质证书\\ISO9001.jpg,\\\\吴厂\\文档管理$\\公司文件\\资质证书\\ISO14001.jpg


--  作者:有点甜
--  发布时间:2017/7/7 10:38:00
--  
根据你的数据,2楼代码肯定没问题。
--  作者:实话实说
--  发布时间:2017/7/7 10:53:00
--  
以下是引用有点甜在2017/7/7 10:38:00的发言:
根据你的数据,2楼代码肯定没问题。

是的,没有问题,谢了.