您的当前位置:首页正文

图片文件批量重命名探讨

来源:个人技术集锦
”

i蠼

.技术平会辩技镬潦室薅

图片文件批量重命名探讨

阁华军

<江苏堵窒兴职业教育中心校,江苏宣兴214200)

要:本文对茵J降特别是照片的批量处理(改尺寸、控制体积、重命名)进行了分析,提出了借助Excel袭棒利用VBA对图

片文件进行批量重命名的方法,特别是对文件名不规则的文件进行重命名,提高了处理效率。

关键词:拽量焚理EXCEL;VBA

引言

在办公自动化(OA)的过程中,我们经常要从数码照相机《DC)里读患许多蘸冀。键这些慧冀豹大夺、跫寸秘自费生戏的

文舞名势不符食要求,我们必须对其送行薤瑾。簸耀有巍耪情况:一种是改变照片的尺寸和文件大小。另一种魁对一个甚至很多文件夹里的文件(照片)进行改名。

Excel公式进行处理后放人B列,使之符合豫求;最后刺用VBA的Nam.命令来对图辟文件改散

逶誊,我锻霹叛选择ACDSee、Phot黼hop、Fireworks等较襻

苯姓逢,嚣莛申ACDS脯不健可羧进行简单静蚕片编辑,还胃鞭

用模板或者替换来批量改锅。但ACDSee的这种战名是建屯猩某种规则的基础上,丽面对一些改名前腐毫龙规律的文件名,也’显褥套点无缝淹力。

本文绘滋了一释镦鼍黢名方法:蒯臻Excel袭格作为耩时“籽器”,用予存放源文件稻和目录文件名,然后利用VBA进错改袈。实践证明,用这种方法对文件进孝}批量改名,效果良好,提’褒了王佟效率:

1凝蠢缭匿鸶致尺寸

批量给刚H.改尺寸鲥以利用ACDSee(8.0)的工具一“改燮大小”进行批嫩处理(图lo在凋整文件长宽数值的过程中,逐霹殴遥撵JPEG戆箍臻比率,辩文件大小遴{i拄剿。燕萁对文绺大小酌控涮没有Photashop和Fireworks鄢么精确。如莱对文件火小比较敏感,可以选择Photoshop的“存储为Web濑用格式”,腰椎率80%就硪以将大小控制为原来的一半。

为了让VBA襁序“自动”识别某文件必下的所有文件,下面的稷序用了一个通用对话框打开文件(OpenFile),判断用户选择鹭文件,将去掉路径聂懿交箨名填入Excel煞A囊。鬟孝还《疆通过谶薰Filter璃惟来选择莱~类瑶静文件。

’,/按钮1的功能为将所选文件的文件编填入Excel工作薄SheetI液的A列

'//Code.By

Zhouki,WinXP+ExeeL2003下运蠢透过,2008-9

As

PrivateSubCommandBu就onl_CIick0

DimNfilename.FileNsDimfs.d,f'

Variant

s

AsInteger

Dim{,K,Mpos

For

i=l

To

DimTmpS衍AsString

100

’对A、B两列漪缀

CeUs(i,l》=””Cells(i,叁=”

Next

i

2批量榆图片进行鲎命名

2.1ACDS牌对网蛙‘麴羲命关

Nfllename=Application.GetOpenFilename(一

FileFilter.=“All

蟊赛蚕,ACi)S一可激选巽嚣辩方法对交箨进行撼量霉命

名:模板、搜索和替换。其中在模板羹可以使用“举号”做为原始文件名,“群号”做为模板的规律m现部分,可用数牢成字母进行替换;在搜索粳替换擘可以对趣律性整袈的文停名姬“更改犬,l、”的字羧送行遥滤或替换。

2.2利用ExcelVBA对图片文件名进行批甓处理

如果要改成的文件名比较不规则。则用ACDSee就没那么糖攀了。我们谢以剩耀VBA将菜文件夹里的所有文体名读入猫Excel表貉麓轰魏;然螽将A弱赫文侮褒毒终字褥串,剽藤

作者简介:周华举(1976-),助教,长期从事网络实践。

库理论央践、OA、网络

辑套文僻‘秘’巍文箨4嚣静

Files,。卓,Files,*.jpg”,一’设置过滤器鸯’

Fiherlndex:=2,一

MultiSelect:=Tme)

IfIsArray(Nfilename)Then

’默认为jpg图片文件

‘允许多选

+如果怒到酶文件名是数维

≤多选)

Set

fs=CreateOhject(“Scripting.FileSystemObject”1

sInNfilenameEachFileN

j=0

For

S默f=fs。GetFile(FiteNs)

’褥瓣黪文捧名含蠢黯弪,簧

向为办佘自动化度

向的研究;韩斌(1979一),讲师.江南戈学研究生。研纥

2008睾第l{期

汪2≮

盟垫照进壹堕

整理

TmpStx=f

Fori≈l

To

e

热查±垒i

ScrNarae=CurPath莰CeH,《,l≥

谵娄裁瓷整濠交搏褒

.,,改名爝的完整融标

stName篇CurPath&CeUs(i,∞TmpStr=Excel.WorksheetFunefion.Substitute(f,‘.、”,”)’D

利用Excel的替换熵数义件名

K女k蛰一Len(TmpStr)‘K巍露簦分疆替≮’毒蠖懿敬

NameNext

i

SerNameAsDstName

7/重禽錾蠹令

TmpStr=Excel+Worksheeff'unetion.Substltute(f,“、件,“,竹,K)

MsgBox“共替换了”&i一1&“个文件名l”对话框撼永

Mpos。InStr(1,TmpStr,“,”)教名文件数。也可用变鬣。表示

Cetts(1+l|l》≮blidCf'mpStr,Mpos÷l,至I瞧£魏蓼S蛾

将文幸擎禽教大焘爨

cell牲(1,3)黜Left

EndSub

3实滁滚效巢努蹬

CrmpStr,Mpos.

11&“、竹

如全圜中小学教师教育技术水平考试(NTET)燮求报名照

’将路饺救入C1单笼罄用

;=j+l

Next

片的文件名为“身份证母+姓名”格妓,现有ACDSee等软件苊

一滚锚建霪粼。邃饕蕊嚣下,蔑餐裂爨黻上嚣鬏VBA袋魏送褥+F

t继续德环

End雌EndSub

撩繁重命名。霰较短抟对阏璺羧簿趣宠残f疰舞。实黢涯麓,本

文所述对网片等文件蘸命名的运行速度比ACDSee等软件戮

快。

在褥舞了嚣文璐霆差,我靛囊莛Excel黛零楚霪公式瓣A

辫酶文符名透孝亍照耀嚣壤入B魏,缒之符会聚求。然稀我髓蓑可以利删VBA的Name语句进行改名。

重枯舞命令Name的格式如下:

援黼蜉瀑文箨蕊As嚣稼突簿翼

海了达秀“敖黛”鲶瑾酶藩酶,VBA程垮必然要使掰耩珲。

根据Name命令的格溅.在循环嫩前,我们必颁取得源文件名和銎标文件名。在将源文件名和瓣据文件名敷入A、B两列蜃,循拜塞熬靛蓠擎了。

下辩的程序藕瓣循环对文佟避行撬量敬名:4缮辩谣/,楗对A列的义件名进行处理放入B列盾。将A列内容作ACDSee批量重命锅的_:}宇法是建就在规律性的基础上的。觉

嚣文襻然、8列内容佟穗括文{串名移羧凌2囊鼹舞矮透簿改装

+PrivateSub

CommandButton2_Click0

满善穿列性。只要改名聪的文{牛名符合一定规德,用户可以内已

擦写重禽袈攥羲寒宠藏。羲瓣予躞袈瓣嚣煮l露交簿蠡,零文提爨了~静蒲攀赫行酶弦鼙嚣命名酶方法.无须借韵壤有较薛,熏麓创建命名规则,只需要槛Excel里处煺好目标文件名,就可以省力省心她批髓蓬命名了。其实本方浚不光可以她耀图片文件,也

Dimi.cAsInteger

If

CeUs(1,翁;“”Then

t检测B1嚣裁捂是否为燮,著

窒,逶廷l搴过程

MsgBox“匿标窝侔名不麓海空!”

ExitSubEndIf

霹羧重鑫囊程蘩交蛰。鼙然,VBA掺巍Excel/*i数磅麓熬辜参宠;

逡没有达弼藏精软件斡艨次,要骰斌黎重命名、溺玲编辑等宠燕

幼能于一体的软件还有待进一步研究。

参考文蔽i

e#ExeeLWorksheetgunefion。Q隧|醢零捌学r鑫箍强渗睾}霎

A粥审的文件名数馘,赋值给窝鬣e

DimCurPathAs

’[1]ExcelHom…e-Excd窦战攮姆耩簿.20簖

CttrPath=Cells(1.3’舞登

s硒ng

。曲。,酗~搪小办如衅北;。持

澎将el攀越揸痣容佟为当翦

曷凳票霉翥鑫慧舞:磊装.蝙ex程cel高ho手m荒枭2戈00学6-出-2版008.,200,,州“。j1’…””“”~‘’…。一…”“”’“7牡~……一“

测试人擞先进行性能指标测试,辫输出电餍接近0时,进入

(上接第16页)如圈5所示该电激的无输出暾压的“故障树”。

党逛篷教薅楗,鳃强,浚敬瘴舞表示测试入爨先测试芍赢4秘8乏麓数夔,橡懿嚣试蘩暴转舞不嚣懿支踌要饕壤遂行嚣滚,受要

测试点的测诚值满足我们测试对话椴给出的条件,我们就琊以判断前一元件或元件纵有元件故障,否则按照我们故障树的测斌鼷窘继续避季i测试,囊瓣捷魏援簿惩传。参考文藏:

11l朱大奇.电子设备故障诊断原理与实践,娆京:电子工_嫩由版社,2004d)。t

【21周东华,叶银忠.现代故降珍斯与容错捉制.北京:清华嫩学出版社,2(X)0.艇。

pl耪士元,室姆白磔拟系统的’故擘诊斯岛可靠挫设计.jb京:清华大举娥洚l教志瓣。夫盘磐能毒专察系统导琵:,i-m髓学菝幂天攀接缀撬翁阍④,

|5l章国栋等,戆统可靠与撩修性的分机漾计.北京:航寓航天大学出J《藏被,

毽5羌籍爨彀燕最簿爨

2008牟第ll潮

瓣冬魏镁熬觏鼯蔽孽诊蕺法囊菠:譬中趱盖炙擘燃A998.

1990.

因篇幅问题不能全部显示,请点此查看更多更全内容