Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: dyzx

[已解决]批量修改图片名称

[复制链接]
发表于 2016-10-12 11:31 | 显示全部楼层
dyzx 发表于 2016-10-12 11:23
苏子龙老师:请问“With Application.FileDialog(msoFileDialogFolderPicker) '文件加一定取到你要的那个 ...

就是照片所在文件夹,即附件里的文件夹“4”
回复

使用道具 举报

 楼主| 发表于 2016-10-12 12:53 | 显示全部楼层
zjdh 发表于 2016-10-12 10:51
还是你的“身份证”数据问题,任意输入一个内容(文本),即可运行。
2楼的数据都可以运行。

[size=11.666666030883789px]zjdh老师:请问我的“身份证”数据有什么问题?请指教,多谢
回复

使用道具 举报

发表于 2016-10-12 12:55 | 显示全部楼层    本楼为最佳答案   
有这么个函数就简单啦
Sub Macro1()
     Dim p$, f$, Fso As Object, sFileType$, i&, arr$(), brr$(), m&
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = False Then Exit Sub
        p = .SelectedItems(1) & "\"
    End With
    sFileType = "*.jpg"
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Call GetFiles(p, sFileType, Fso, arr, m)
    W = Range("A65536").End(3).Row
    If W = 2 Then Exit Sub
    For J = 2 To W
        For i = 1 To m
            If arr(2, i) = Cells(J, 1) & ".jpg" Then
                f = arr(1, i) & Application.Clean(Cells(J, 3).Value) & ".jpg"
                If Dir(f) <> "" Then
                    MsgBox Cells(J, 3) & ".jpg 已存在"
                    GoTo 10
                End If
                Name arr(1, i) & arr(2, i) As f
                Exit For
            End If
        Next
10  Next
    MsgBox "处理完毕", vbInformation
    Set Fso = Nothing
End Sub

评分

参与人数 3 +12 金币 +6 收起 理由
lisachen + 6 + 6 赞一个
dyzx + 3 很给力
苏子龙 + 3 很给力

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-10-12 12:56 | 显示全部楼层
苏子龙 发表于 2016-10-12 11:31
就是照片所在文件夹,即附件里的文件夹“4”

苏子龙老师:我将其他文件的数据复制到这个表时运行代码,是不能修改图片名称的,请指教,多谢。
回复

使用道具 举报

发表于 2016-10-12 13:38 | 显示全部楼层
dyzx 发表于 2016-10-12 12:53
zjdh老师:请问我的“身份证”数据有什么问题?请指教,多谢

就是9楼所说的,存在非打印字符。
回复

使用道具 举报

发表于 2016-10-12 13:48 | 显示全部楼层
dyzx 发表于 2016-10-12 12:56
苏子龙老师:我将其他文件的数据复制到这个表时运行代码,是不能修改图片名称的,请指教,多谢。[/backco ...

用zjdh老师的代码吧,他考虑周到
我写的那个到i要确认改名字的工作表为活动工作表,或者在里面加个运行按钮,还不行可能名称和照片名称不符等原因,要不再上传多一点的照片及改名称的工作表试试
回复

使用道具 举报

 楼主| 发表于 2016-10-12 14:37 | 显示全部楼层
zjdh 发表于 2016-10-12 13:38
就是9楼所说的,存在非打印字符。

zjdh老师:请问什么是“非打印字符”,应该怎样处理?是否要一个一个地重新输入身份证号,这样太麻烦了,有什么好办法?请指教,多谢。
回复

使用道具 举报

发表于 2016-10-12 15:51 | 显示全部楼层
dyzx 发表于 2016-10-12 14:37
zjdh老师:请问什么是“非打印字符”,应该怎样处理?是否要一个一个地重新输入身份证号,这 ...

你用我13楼的宏替代原来的宏就可以啦,不必再重输数据了。
回复

使用道具 举报

 楼主| 发表于 2016-10-12 16:30 | 显示全部楼层
zjdh 发表于 2016-10-12 15:51
你用我13楼的宏替代原来的宏就可以啦,不必再重输数据了。

zjdh老师:我运行你的代码,但电脑都一直在运行中,请指教,多谢。
162625oy7j7oymk5ajj089.jpg
回复

使用道具 举报

发表于 2016-10-13 07:58 | 显示全部楼层
dyzx 发表于 2016-10-12 16:30
zjdh老师:我运行你的代码,但电脑都一直在运行中,请指教,多谢。

对话框已经出来了,应该是更改结束了。
能点对话框中的“确定”吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-8 08:19 , Processed in 0.483991 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表