| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 539 人关注过本帖
标题:文件复制改名后读取错误的问题,附代码。
只看楼主 加入收藏
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
结帖率:87.21%
收藏
已结贴  问题点数:20 回复次数:4 
文件复制改名后读取错误的问题,附代码。
’这段是复制图片文件代码
Sub 复制文件()
Dim sFilename As String
'保存图片
SelectFile = CommonDialog1.FileName '获取选择的文件
s1 = Split(SelectFile, Chr(0))
  If UBound(s1) >= 0 Then  '选择了图片
      If UBound(s1) = 0 Then '只有一张图片执行
         If Dir("" & App.Path & "\物品图片\" & Trim(Text1(0).Text + "\") & Mid$(s1(0), InStrRev(s1(0), "\") + 1), vbNormal) <> "" Then  '存在文件
               fs1 = Mid$(s1(0), InStrRev(s1(0), "\") + 1) '截取文件名
               Fl = Mid(s1(0), InStr(s1(0), "."))  '截取文件后面的后缀
               i = 0
AAA:
               F2 = ""
               F2 = Format(Left(fs1, InStr(fs1, ".") - 1) & i & Fl)  '将文件名增加数字i后在下面判断改名后的图片是否存在
               If Dir("" & App.Path & "\物品图片\" & Trim(Text1(0).Text + "\") & F2, vbNormal) <> "" Then '如果存在
               i = i + 1
                  GoTo AAA
               Else
                   FileCopy s1(0), "" & App.Path & "\物品图片\" & Trim(Text1(0).Text) & "\" & F2 & "" '图片改名后存储
               End If
         Else
                FileCopy s1(0), "" & App.Path & "\物品图片\" & Trim(Text1(0).Text) & "\" & CommonDialog1.FileTitle & "" '单张图片存储
         End If
      Else '不是一张图片
      
         For i1 = 1 To UBound(s1) '循环复制图片
          If Dir("" & App.Path & "\物品图片\" & Trim(Text1(0).Text + "\") & Mid$(s1(i1), InStrRev(s1(i1), "\") + 1), vbNormal) <> "" Then  '存在文件
               fs1 = Mid$(s1(i1), InStrRev(s1(i1), "\") + 1) '截取文件名
               Fl = Mid(s1(i1), InStr(s1(i1), "."))  '截取文件后面的后缀
               i = 0
BBB:
               F2 = ""
               F2 = Format(Left(fs1, InStr(fs1, ".") - 1) & i & Fl)  '将文件名增加数字i后在下面判断是否存在
               If Dir("" & App.Path & "\物品图片\" & Trim(Text1(0).Text + "\") & F2, vbNormal) <> "" Then '如果存在
               i = i + 1
                  GoTo BBB
               Else
                   'FileCopy s1(0), "" & App.Path & "\物品图片\" & Trim(Text1(0).Text) & "\" & F2 & "" '单张图片存储
                   FileCopy s1(0) & "\" & s1(i1), "" & App.Path & "\物品图片\" & Trim(Text1(0).Text) & "\" & F2 '多张图片存储
               End If
         Else
                'FileCopy s1(0), "" & App.Path & "\物品图片\" & Trim(Text1(0).Text) & "\" & CommonDialog1.FileTitle & "" '单张图片存储
                FileCopy s1(0) & "\" & s1(i1), "" & App.Path & "\物品图片\" & Trim(Text1(0).Text) & "\" & s1(i1) '多张图片存储
         End If
         Next
      End If
  End If
End Sub

’下面是加载图片文件名到列表
Sub 加载图片()
List1.Clear
'判断图片是否存在
      If Dir("" & App.Path & "\物品图片\" & Trim(Text1(0).Text + "\") & "", vbDirectory) <> "" Then '如果文件夹内有文件
           myFile = Dir("" & App.Path & "\物品图片\" & Trim(Text1(0).Text + "\") & "*.*", vbNormal) ''获得符合条件的文件名
            Do While MyFile <> ""                ''循环查找
                   List1.AddItem MyFile          ''添加到list列表
                  MyFile = Dir ''如果和上次一样
            Loop
           If List1.ListCount > 0 Then
               Image1.Picture = LoadPicture(xsapptp & List1.List(0))
           End If
      End If
End Sub

’下面是点击列表框文件名显示图片,就是这个出错,没有改名过的文件可以正常显示,改名后的文件就报文件名错误
Private Sub List1_Click() '单击列表框文件名显示图片
On Error GoTo ErrH
   If List1.ListCount > 0 Then Image1.Picture = LoadPicture(List1.List(List1.ListIndex)) '自动显示选中的第一张图片
   Exit Sub
ErrH:
If Err = 53 Then
   MsgBox "图片文件错误!", 48, "仓库管理系统"
End If
End Sub
搜索更多相关主题的帖子: Text1 图片 
2013-11-19 21:58
vbvcr51
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:18
帖 子:364
专家分:1724
注 册:2013-11-3
收藏
得分:7 
loadpicture()'加载的是路径和文件名,把文件名改了,当然找不到了。
2013-11-20 12:39
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:7 
其它代码?
Sub 复制文件()
Sub 加载图片()
什么时候运行的,
和List1_Click有什么关系?

无知
2013-11-20 14:20
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:0 
我是在窗体load的时候就运行 sub 图片加载() 的

sub 复制文件()我是在command1_klick()中运行的
复制完文件后我会再次运行
sub 图片加载()将文件放到list1中

单击list中的文件名在图片框中显示选中的图片文件

加载完后我会清空CommonDialog1

............................
额,是不是因为我清空了CommonDialog1引起的?
文件路径不存在list1中的吗?

[ 本帖最后由 wxflw 于 2013-11-20 16:13 编辑 ]

学习--------------学习-------------------学习--------------------!!
2013-11-20 16:11
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:0 

学习--------------学习-------------------学习--------------------!!
2013-11-22 02:40
快速回复:文件复制改名后读取错误的问题,附代码。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.072540 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved