以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  求助动态更改文件夹目录代码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=8567)

--  作者:shixia
--  发布时间:2010/11/11 9:33:00
--  求助动态更改文件夹目录代码
 

这段代码怎么写?

设置报告和图片列为“多文件”扩展类型,点击按钮会出现“文件管理器”,点击“增加”按钮来增加文件时,如何实现在任何一个位置的文件被选择后自动在项目目录下的Attachments文件夹中创建相关目录,目录级次为:Attachments\\年度\\业务类型\\号数\\文件名。如第一行的报告列内容改为:Attachments\\2010\\交通事故\\6\\道路交通事故结论书2010006.doc。即Attachments & “\\” & Date.today.year & “\\” & “业务类型列内容” & “\\” & “号数列内容” & “\\” & “文件名。同时创建对应的目录并把文件自动复制到目录下。

利用列属性的设置只能实现固定的位置,无法根据列值动态实现。请教各位如何实现?

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:狐狸爸爸
--  发布时间:2010/11/11 9:54:00
--  

不能自动创建,只能先将文件复制到Attachments目录下对应的子目录,然后再在文件管理器添加。


--  作者:shixia
--  发布时间:2010/11/11 10:44:00
--  
先使用CreateDirectory创建目录,再用CopyDirectory将文件复制过去呢?总不会没有任何替代办法吧。如果能动态创建目录并复制或移动文件,那么就可以科学合理地管理档案。希望狐爸开动聪明的大脑为我们想想办法,不要轻易地说No
--  作者:狐狸爸爸
--  发布时间:2010/11/11 11:01:00
--  

你可以自己写一个添加按钮,根据条件创建目录并复制到指定目录中,这个你可以搞定。

现在的问题是需要将新增加的文件能够写入到文件管理其中,你可以:

 

Tables("xxx").Current("sss") = Tables("xxx").Current("sss") & vbcrlf & "目录名\\文件名.后缀名"

 

大概就是这样,你自己琢磨一下。


--  作者:blackzhu
--  发布时间:2010/11/11 11:12:00
--  

If e.DataCol.Name = "IO" Then \'如果触动的是"IO"列
    If  FileSys.DirectoryExists("D:\\跟单系统外部数据\\Attachments\\规格\\" & Tables("订单情况").Current("IO")) & "" Then  \'判断这个"IO"的目录是否存在
        e.Cancel = True  \'如存在取消建立
    Else  \'否则
        FileSys.CreateDirectory("D:\\跟单系统外部数据\\Attachments\\规格\\新建文件夹")  \'建立一个新的文件夹
        FileSys.RenameDirectory("D:\\跟单系统外部数据\\Attachments\\规格\\新建文件夹",Tables("订单情况").Current("IO"))   \'根据订单情况表的"IO"列的数据改成新文件夹的名字
        MessageBox.Show("此制单的目录已建立!", "提示")
    End If
End If

 

现在我用,和你的要求差不多.


--  作者:shixia
--  发布时间:2010/11/11 11:14:00
--  
新增加的文件写入到文件管理器可以先写后用你的代码修改。自己必须添加按钮吗,难道不能把文件管理器中的“增加”按钮的属性、方法和事件开放出来让我们自己修改?
--  作者:狐狸爸爸
--  发布时间:2010/11/11 11:17:00
--  

这个我考虑一下,是否来一个添加文件的事件。

但是应该是相当长时间以后的事了。

[此贴子已经被作者于2010-11-11 11:17:07编辑过]

--  作者:czy
--  发布时间:2010/11/11 18:20:00
--  
从一楼的文件看创建文件夹的代码不应该是针对图片列,而应该针对“业务类型”和“号数”来增删文件夹,这样的处理方式一是合理,再则对后续的操作也会带来方便。
--  作者:shixia
--  发布时间:2010/11/11 19:59:00
--  
一般档案管理项目中对档案的年度、类型、文号、文件等都会设列名进行管理,在设置文件夹时最好也按此分类设置目录,但是如果靠人来设置难免会出现错误、也不够智能,因此如果在“增加”时自动设置(设置规则自定义)目录文件夹后再把文件复制到目录下是很合理的。
--  作者:blackzhu
--  发布时间:2010/11/12 15:04:00
--  
可以利用代码将文件自动归类到相应的文件夹中.我过一会将我的代码贴上来.