以文本方式查看主题

-  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


图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20210701134958.png
图片点击可在新窗口打开查看

继续添加就不会重名了 需求是 文件(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