❶ 几百张图片为2560*1920,第一张调成709*531,第二张调成926*695 ,像素数据在excel,如何编程批量处理
每一张图要调成的分辨都不同?你稍微凳粗会点PS的话,装个按键精灵可以拆滑解决,先记录操作一次,记录的最后一步删掉EXCEL第一行的数据就枣御镇好
但是你要考虑图案是否按比例缩放这个问题
❷ 如何批量提取图片文件名后加序号
其实这个简单,不用编程,
就是先提取文件名,然后灌入电子表,然后加编号
,然后做成每行是,命令,原名,新名的格式,然后输出,做在BAT文件,执行一下就好
❸ 请问怎么 才能在EXCEL中把图片批量并且居中的放在单元格中
可以通过VBA实现,点击【开发工具】,【Visual Basic】打开VBA编辑器,也可以使用【Alt+F11】组合键打开VBA编辑器。双击“模块1”,复制以下代码。然后插入按钮,指定宏即可。
代码如下
SubInsertPic()
'ExcelHomeVBA编程学习与实践by:看见星光
DimArr,i&,k&,n&,pd&
DimstrPicName$,strPicPath$,strFdPath$,shpAsShape
DimRngAsRange,CllAsRange,RgAsRange,strWhereAsString
'OnErrorResumeNext
'用户选择图片所在的文件夹
WithApplication.FileDialog(msoFileDialogFolderPicker)
If.ShowThenstrFdPath=.SelectedItems(1)Else:ExitSub
EndWith
IfRight(strFdPath,1)<>""ThenstrFdPath=strFdPath&""
SetRng=Application.InputBox("请选择图片名称所在的单元格区域",Type:=8)
'用户选择需要插入图片的名称所在单元格范围
SetRng=Intersect(Rng.Parent.UsedRange,Rng)
'intersect语句避免用户选择整列单元格,造成无谓运算的情况
IfRngIsNothingThenMsgBox"选择的单元格范围不存在数据!":ExitSub
strWhere=InputBox("请输入图片偏移的位置,例如上1、下1、左1、右1",,"右1")
'用户输入图片相对单元格的偏移位置。
IfLen(strWhere)=0ThenExitSub
x=Left(strWhere,1)
'偏移的方向
IfInStr("上下左右",x)=0ThenMsgBox"你未输入偏移方位。":ExitSub
y=Val(Mid(strWhere,2))
'偏移的值
SelectCasex
Case"上"
SetRg=Rng.Offset(-y,0)
Case"下"
SetRg=Rng.Offset(y,0)
Case"左"
SetRg=Rng.Offset(0,-y)
Case"右"
SetRg=Rng.Offset(0,y)
EndSelect
Application.ScreenUpdating=False
Rng.Parent.Select
ForEachshpInActiveSheet.Shapes
'如果旧图片存放在目标图片存放范围则删除
IfNotIntersect(Rg,shp.TopLeftCell)IsNothingThenshp.Delete
Next
x=Rg.Row-Rng.Row
y=Rg.Column-Rng.Column
'偏移的坐标
Arr=Array(".jpg",".jpeg",".bmp",".png",".gif")
'用数组变量记录五种文件格式
ForEachCllInRng
'遍历选择区域的每一个单元格
strPicName=Cll.Text
'图片名称
IfLen(strPicName)Then
'如果单元格存在值
strPicPath=strFdPath&strPicName
'图片路径
pd=0
'pd变量标记是否找到相关图片
Fori=0ToUBound(Arr)
'由于不确定用户的图片格式,因此遍历图片格式
IfLen(Dir(strPicPath&Arr(i)))Then
'如果存在相关文件
Setshp=ActiveSheet.Shapes.AddPicture(_
strPicPath&Arr(i),False,True,_
Cll.Offset(x,y).Left+5,_
Cll.Offset(x,y).Top+5,_
20,20)
shp.Select
WithSelection
.ShapeRange.LockAspectRatio=msoFalse
'撤销锁定图片纵横比
.Height=Cll.Offset(x,y).Height-10'图片高度
.Width=Cll.Offset(x,y).Width-10'图片宽度
EndWith
pd=1'标记找到结果
n=n+1'累加找到结果的个数
[a1].Select:ExitFor'找到结果后就可以退出文件格式循环
EndIf
Next
Ifpd=0Thenk=k+1'如果没找到图片累加个数
EndIf
Next
Application.ScreenUpdating=True
MsgBox"共处理成功"&n&"个图片,另有"&k&"个非空单元格未找到对应的图片。"
EndSub
小提示:
1,该段小代码支持一下图片格式:
".jpg",".jpeg",".bmp",".png",".gif"
2,图片的纵横比是未锁定的,如需锁定,可以注释掉下句代码:
.ShapeRange.LockAspectRatio=msoFalse
❹ 如何将bmp格式的图片一次性批量插入Excel的每个的sheet页里去呢(最好是隔一个sheet一张图片)
用VBA处尺升搏陵祥理,需编程。笑宽
参考下面
Excel怎样查找图片
❺ 请电脑编程高手指点下,我有很多图片要重命名并且分别移动到相对应的文件夹下,怎么批处理一键搞定呢
我们平时重命名文件,通常就是点击右键,然后点击重命名;或者用快捷键“F2”。使用方法非常简单,但是如果遇到有很多文件需要重命名,一个个操作是很不明智的,我们可以才需批量重命名的方法。
案例:
通常,我们要为各式各样的照片做下面这样的工作。比如说,在科西嘉度假的时候你照了大量的数码照片,而你的照相机偏偏将它们自动命名为DSCN0595.jpg、DSCN0596.jpg,等等。你肯定希望能把它们改成更加易认,好记的名字。你当然可以一个一个地把它们改成例如“我和朱莉在灯塔前.jpg”,“再一次在酒吧聚会.jpg”等等。但如果这些照片不燃缺是寥寥稿唤几张的话,这样做无疑会耗费掉大量的宝贵时间。相对较好的折中方案是将这些照片取名为“科西嘉2006-1.jpt”,“科西嘉2006-2.jpt”等等。
这里还有其他几件事要注意。首先“取消重命名”在这里一次只能取消一个文件,而且只能用在最后命名的十个文件上。所以如果要重命名的文件数键段凯量多于十个,你最好在改名之前,先将照片在其他目录做个备份。文件命名的顺序依据屏幕上文件的显示顺序,也就是说如果浏览器中文件按日期倒序排列的,那么重命名之后,第一个文件将会是日子最近的那个文件。又或者,你在右键点击菜单的时候不是点击第一个文件,而是点在了中间某个文件的话,那么重命名将从这个文件开始,顺序排到最后一个文件,然后再从第一个文件排下来。
这里需要注意的是,你必须为第一个文件指定一个扩展名,但是对于其他文件,重命名命令并不会影响到它们原有的扩展名。所以如果你的这些文件是不同类型混放的话,重命名只会修改文件名部分使之保持一致,而扩展名并不做改动。如果你觉得第一个文件名后面没有编号很突兀,也可以将其命名为“科西嘉 2006(0).jpg”。你可以任意指定括号中的起始编号,后面的重命名过程会自动从该编号开始顺序排下去。