以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 搜索指定文件夹中的文件 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131565) |
-- 作者:sanny -- 发布时间:2019/3/1 12:38:00 -- [求助] 搜索指定文件夹中的文件 版主,窗口中一个订单表A, 表中有订单号 ,如A1,A2,A3.. 每个订单中包含多个产品,比如
订单号 产品名称 A1 AD A1 AB A2 AH A2 AZ
如何根据表中的产品名称找到 C盘中所有以 产品名称命名的 PDF文件并复制到批定的文件中,这个文件夹以订单号来命名,每个订单号包含相应的PDF.
|
-- 作者:有点甜 -- 发布时间:2019/3/1 14:56:00 -- Dim t As Table = Tables("表A") For Each r As Row In t.Rows For Each file As String In FileSys.GetFiles("C:\\") If file.EndsWith(".pdf") Then If file.EndsWith(r("产品名称") & ".pdf") Then FileSys.CopyFile(file, "d:\\" & r("订单号") & "\\" & r("产品名称") & ".pdf", True) End If End If Next Next |
-- 作者:sanny -- 发布时间:2019/3/2 12:04:00 -- 版主, 有个问题我的订单号是这样的 MYPL-18/05/03-00029 ,当生成文件夹时,生成MYPL-18目录下再包含目录50,里面再包含了目录03-00029。因为不支持/
如何让它生成 MYPL-18-05-03-00029 一个目录呢 ? |
-- 作者:有点蓝 -- 发布时间:2019/3/2 14:15:00 -- FileSys.CopyFile(file, "d:\\" & r("订单号").replace("/","-") & "\\" & r("产品名称") & ".pdf", True) |
-- 作者:sanny -- 发布时间:2019/3/2 14:42:00 -- 版主,谢谢。另外还有碰到两个问题
1. 设定C:\\PDF后,只能在这个根目录下查找,如果这个PDF目录中还有很多目录,子目录,可以设定查找PDF下所有所目录,文件吗?
2. 只要拷贝成工,就 把“找到”定入表A 的列名“存在”,如果没有,就写“没有找到”, 这个没有找到用红色字体,这样可以吗?
麻烦了。 |
-- 作者:有点蓝 -- 发布时间:2019/3/2 14:52:00 -- 1、递归遍历: |
-- 作者:sanny -- 发布时间:2019/3/2 15:19:00 -- 版主,我改了下,也不对。能帮忙改一下吗?
Dim t As Table = Tables("找找") For Each file As String In FileSys.GetDirectories("z:\\") If file.EndsWith(".pdf") Then
|
-- 作者:有点蓝 -- 发布时间:2019/3/2 16:44:00 -- 代码有什么问题,运行有什么错误? |
-- 作者:sanny -- 发布时间:2019/3/2 16:49:00 -- 只能找在z:根目录中的文件,z盘中还有其它目录所需查找,找到后把找到写入 表A 列名“找找” |
-- 作者:有点蓝 -- 发布时间:2019/3/2 17:15:00 -- Dim t As Table = Tables("找找") For Each r As Row In t.Rows For Each dir As String In FileSys.GetDirectories("z:\\") For Each file As String In FileSys.GetFiles(dir) If file.EndsWith(".pdf") Then If file.EndsWith(r("FshortNumber") & ".pdf") Then \' FileSys.CopyFile(file, "d:\\" & r("FbillNo") & "\\" & r("FshortNumber") & ".pdf", True) FileSys.CopyFile(file, "D:\\administrator\\Desktop\\Foxtable\\查图纸工具\\管理项目1\\" & r("FbillNo").replace("/","-") & "\\" & r("FshortNumber") & ".pdf", True) End If End If Next Next For Each file As String In FileSys.GetFiles("z:\\") If file.EndsWith(".pdf") Then If file.EndsWith(r("FshortNumber") & ".pdf") Then \' FileSys.CopyFile(file, "d:\\" & r("FbillNo") & "\\" & r("FshortNumber") & ".pdf", True) FileSys.CopyFile(file, "D:\\administrator\\Desktop\\Foxtable\\查图纸工具\\管理项目1\\" & r("FbillNo").replace("/","-") & "\\" & r("FshortNumber") & ".pdf", True) End If End If Next Next
|