以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]搜索文件并打开  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94159)

--  作者:yupeng
--  发布时间:2016/12/16 23:58:00
--  [求助]搜索文件并打开
老师 您好 路径:\\\\fuwuqi\\ERP专用\\图片 在选定行点击按钮后,在以上路径开始搜索名为"款号"列值的文件夹,如果有就打开此文件夹, 如果没有就新建文件夹并以"款号"的值重命名,再打开。 请问代码要怎样写,请老师帮帮我这个小白。谢谢您
--  作者:狐狸爸爸
--  发布时间:2016/12/17 9:13:00
--  
Dim v As String = "款号1"
Dim p As String = "c:\\图片\\"  & "v"
Dim Proc As New Process
proc.File = p
If FileSys.DirectoryExists(p) =False Then
    filesys.CreateDirectory(p)
End If
proc.start
    
    

--  作者:yupeng
--  发布时间:2016/12/17 10:11:00
--  

Dim v As String = "款号"
Dim p As String = "\\\\Dianshang\\电商共享夹\\图片管理\\" & v
Dim Proc As New Process
proc.File = p
If FileSys.DirectoryExists(p) =False Then
    filesys.CreateDirectory(p)
End If
proc.start

 

老师您看一下,V不要“”号后打开的文件夹名款号,但不是款号列的值。  加上""号后文件夹的名为V

 


图片点击可在新窗口打开查看此主题相关图片如下:01.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:02.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2016/12/17 10:20:00
--  

我是举一个例子给你,告诉你怎么判断是否有只当名称的目录,如果打开目录。

如果你要别人帮你完全写好代码,就得有更具体的问题,例如的代码是写在什么事件中的。


如果是CellButtonClick事件,那就是:

Dim v As String = e.Row( "款号")

Dim p As String = "\\\\Dianshang\\电商共享夹\\图片管理\\" & v
Dim Proc As New Process
proc.File = p
If FileSys.DirectoryExists(p) =False Then
    filesys.CreateDirectory(p)
End If
proc.star


如果实在窗口做的按钮,那就是:

Dim v As String = Tables("表名").Current( "款号")

Dim p As String = "\\\\Dianshang\\电商共享夹\\图片管理\\" & v
Dim Proc As New Process
proc.File = p
If FileSys.DirectoryExists(p) =False Then
    filesys.CreateDirectory(p)
End If
proc.star



[此贴子已经被作者于2016/12/17 10:23:22编辑过]

--  作者:yupeng
--  发布时间:2016/12/17 10:23:00
--  
不好意思  谢谢您   没想到狐狸爸爸您老人家亲自出马了   跪拜了
--  作者:狐狸爸爸
--  发布时间:2016/12/17 10:24:00
--  
为人民服务。

图片点击可在新窗口打开查看

--  作者:yupeng
--  发布时间:2016/12/17 11:44:00
--  

老师   还有个问题

 

Dim y As String = "详情页"
Dim pst As String = "PS图"
Dim pzt As String = "拍照图"

 

If FileSys.DirectoryExists(p) = False Then \'如果目录不存在
    filesys.CreateDirectory(p)  \' 创建目录
End If

 

我想在创建目录P后,在P文件夹下面再建3个文件夹(y,pst,pzt),不能打开后再建,因为如果不是新建的P,哪么它里就会有了这3个子文件夹。

 

FileSys.CreateDirectory("d:\\MyFolder\\123\\456")  我用这个例子试了一下 ,只能一次建一个目录

 

请老师指点一下。谢谢


--  作者:狐狸爸爸
--  发布时间:2016/12/17 12:04:00
--  
If FileSys.DirectoryExists(p) = False Then \'如果目录不存在
    filesys.CreateDirectory(p)  \' 创建目录
   filesys.CreateDirectory(p & "/“ & y)  \' 创建目录
   filesys.CreateDirectory(p & "/“ & pst)  \' 创建目录
   filesys.CreateDirectory(p & "/“ & pzt)  \' 创建目录
End If

--  作者:yupeng
--  发布时间:2016/12/17 12:25:00
--  

老师  您好  我刚才用下面的方法试了一下  还挺好用的   如果系统大了   请问是您刚才的方法好  还是用下面这个   谢谢您

 

If FileSys.DirectoryExists(p) = False Then \'如果目录不存在
    FileSys.CopyDirectory ("Attachments\\xxxx", "\\\\Dianshang\\电商共享夹\\图片管理\\" & v, False)
End If


--  作者:狐狸爸爸
--  发布时间:2016/12/17 14:13:00
--  
建立目录和复制整个目录是两回事,后者包括目录下的文件,建议前者