以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 多文件重命名序号问题 求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169815) |
-- 作者:yifan3429 -- 发布时间:2021/7/1 13:49:00 -- 多文件重命名序号问题 求助 Dim ss As String = e.filename Dim Index As Integer = ss.LastIndexOf(".") Dim hz As String = ss.SubString(Index,ss.length-Index) e.filename = e.DataRow("岗位名称") & e.DataRow("职员姓名") & hz If e.DataRow(e.DataCol.name).Contains(e.FileName) Then Dim max As Integer = 0 For Each s As String In e.DataRow.Lines(e.DataCol.name) If s Like "*" & e.DataRow("岗位名称") & e.DataRow("职员姓名") & "*" Then Dim fni1 As Integer=s.LastIndexOf("(") If fni1 > -1 Then Dim fni2 As Integer = s.LastIndexOf(")") fni1 = s.SubString(fni1+1, fni2 - fni1 - 1) If fni1 > max Then max = fni1 End If End If End If Next e.filename = e.DataRow("岗位名称") & e.DataRow("职员姓名") & "(" & (max+1) & ")" & hz End If End If 继续添加就不会重名了 需求是 文件(1) 文件(2) 文件(3) 现在是原文正常 第二个是(1)第三个就会报重不会自动命名序号了
[此贴子已经被作者于2021/7/1 13:51:39编辑过]
|
-- 作者:yifan3429 -- 发布时间:2021/7/1 13:58:00 -- OK了 路径错误 |
-- 作者:有点蓝 -- 发布时间:2021/7/1 14:03:00 -- 调试看看 If e.DataRow(e.DataCol.name).Contains(e.FileName) Then Dim max As Integer = 0 For Each s As String In e.DataRow.Lines(e.DataCol.name) msgbox(s) If s Like "*" & e.DataRow("岗位名称") & e.DataRow("职员姓名") & "*" Then Dim fni1 As Integer=s.LastIndexOf("(") msgbox(fni1) If fni1 > -1 Then Dim fni2 As Integer = s.LastIndexOf(")") msgbox(fni2) fni1 = s.SubString(fni1+1, fni2 - fni1 - 1) msgbox(fni1 ) If fni1 > max Then max = fni1 End If End If End If Next e.filename = e.DataRow("岗位名称") & e.DataRow("职员姓名") & "(" & (max+1) & ")" & hz End If |