❶ 幾百張圖片為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」。你可以任意指定括弧中的起始編號,後面的重命名過程會自動從該編號開始順序排下去。