Foxtable(狐表)用户栏目专家坐堂 → 文件名动态命名并自动重文件名


  共有3229人关注过本帖树形打印复制链接

主题:文件名动态命名并自动重文件名

帅哥哟,离线,有人找我吗?
yifan3429
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
文件名动态命名并自动重文件名  发帖心情 Post By:2014/9/11 11:23:00 [显示全部帖子]

Dim dr As DataRow = e.DataRow

If  dr.IsNull("产品名称")  OrElse dr.IsNull("家具分类") OrElse dr.IsNull("产品编号")Then
    MessageBox.Show("产品名称,家具类别 家具分类 编号 都不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    Select Case e.DataCol.Name
        Case "产品效果图"
            e.SubFolder = format(dr("日期").Today,"yyyy") & "产品库" & "\" & dr("家具风格") &  "\" & dr("产品名称") & "\" & "A 效果图片"
        Case "产品三视图"
            e.SubFolder = format(dr("日期").Today,"yyyy") & "产品库" & "\" & dr("家具风格") &  "\" & dr("产品名称")   & "\" & "B 三视图片"      
        Case "动态图"
            e.SubFolder = format(dr("日期").Today,"yyyy") & "产品库" & "\" & dr("家具风格") &  "\" & dr("产品名称")  & "\" & "C 动态图片"
        Case "产品空间"
            e.SubFolder = format(dr("日期").Today,"yyyy") & "产品库" &"\" & dr("家具风格")  & "\" & dr("产品名称")  & "\" & "D 空间图片"
        Case "产品案例"
            e.SubFolder = format(dr("日期").Today,"yyyy") & "产品库" &"\" & dr("家具风格")  & "\" & dr("产品名称")  & "\" & "E 案例图片"
        Case "设计稿"
            e.SubFolder = format(dr("日期").Today,"yyyy") & "产品库" & "\" & dr("家具风格")  & "\" & dr("产品名称") & "\"&  "F 设计文件"
        Case "工艺文件"
            e.SubFolder = format(dr("日期").Today,"yyyy") & "产品库" & "\" & dr("家具风格")  & "\" & dr("产品名称") & "\"  & "G 工艺文件"
        Case "成本测算"
            e.SubFolder = format(dr("日期").Today,"yyyy") & "产品库" & "\" & dr("家具风格")  & "\" & dr("产品名称") & "\"   & "E 成本文件"
    End Select
End If

Dim s As String = e.filename
Dim Index As Integer = s.LastIndexOf(".")
Dim hz As String = s.SubString(Index,s.length-Index)
e.filename=e.DataRow("产品编号") &  hz




上面的代码会将所有的内容强制的重名名为指定文件名   我想增加些选择功能

如果是"产品效果图"  就是按照上面的代码执行  

如果是"产品空间""成本测算"等的话  在原来的名称上重命名为   

结果实例是   效果图.jpg  

 如果有第二个文件插入进来就会是效果图(1).jpg  效果图(2).jpg依次类推,

该如何实现呢

[此贴子已经被作者于2014-9-25 17:27:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/9/25 16:42:00 [显示全部帖子]

Dim dr As DataRow = e.DataRow
If dr.IsNull("品牌") Then
    msgbox("品牌名不能为空")
    e.cancel = True
Else
    
    Select Case e.DataCol.Name
        Case "宣传_产品"
            e.SubFolder = dr("品牌") & "\" & format(dr("日期").Today,"yyyy") & "\" & "产品宣传"
        Case "宣传_企业"
            SystemReady = False
            e.SubFolder =dr("品牌") & "\" & format(dr("日期").Today,"yyyy") & "\" & "企业宣传"        
    End Select
End If

'------------------------------------------------------

Dim s As String = e.filename
Dim Index As Integer = s.LastIndexOf(".")
Dim hz As String = s.SubString(Index,s.length-Index)
e.filename=e.DataRow("品牌") & "企业宣传" & hz
Dim fn As String = e.DataRow.Lines(e.DataCol.name)(e.DataRow.Lines(e.DataCol.name).Count-1)
Dim fni As Integer=fn.LastIndexOf("(")
Dim fn2 As String =fn.SubString(fni,fn.Length-fni)
Dim fni2 As Integer= fn2.LastIndexOf(".")



.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.9.23.1
错误所在事件:品牌主表,BeforeAttachFile
详细错误信息:
StartIndex 不能小于 0。
参数名: startIndex


希望自动重命名   文件(1),JPG   文件(2).jpg   文件(....).jpg 不想手动修改
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140925164031.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-9-25 16:45:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/9/25 17:27:00 [显示全部帖子]

还是有错误  老师您看下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列文件导入修改名称并自动重命名.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/9/25 17:43:00 [显示全部帖子]

索引超出范围。必须为非负值并小于集合大小。
参数名: index

第一导入文件  错误提示

同样的文件再次导入应该是自动重命名(序号递进)

还是会弹出重名文件提示


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


我想得到的结果是下面这样的功能  自动完成复制但保留两个文件


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


[此贴子已经被作者于2014-9-25 17:48:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/9/25 17:56:00 [显示全部帖子]

不知道我说的是否能 清楚不   

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/9/25 18:54:00 [显示全部帖子]

谢谢甜老师
这样固然也行、就是文件名太长了一点



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

希望能有更好的解决方案达到下面的效果

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

[此贴子已经被作者于2014-9-25 18:54:30编辑过]

 回到顶部