導航:首頁 > 文字圖片 > word中vba批量插入圖片

word中vba批量插入圖片

發布時間:2023-09-20 18:49:05

怎麼批量把圖片放到WORD里並附上該圖的名稱

Sub 選擇重命名文件夾()

Application.ScreenUpdating = False

With Application.FileDialog(msoFileDialogFolderPicker) '運行後出現標準的選擇文件夾對話框

If .Show Then myPath = .SelectedItems(1) Else Exit Sub '如選中則返回=-1 / 取消未選則返回=0

End With

If Right(myPath, 1) <> "" Then myPath = myPath & ""

'返回的是選中目標文件夾的絕對路徑,但除了本地C 盤、D 盤會以"C:"形式返回外,其餘路

徑無""需要自己添加

Getfd (myPath)

Application.ScreenUpdating = True

End Sub

Sub Getfd(ByVal pth)

On Error Resume Next

Dim strPath As String

'插入兩行

Columns("A:B").Select

Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

'設置B 行內容

Range("B1") = "目標名稱"

Range("B2").Select

ActiveCell.FormulaR1C1 = "=RC[1]&"" ""&RC[2]&"".JPG""" '設置B 行內容為目標名稱

Range("B2").Select

m = Range("C65536").End(xlUp).Row

Selection.AutoFill Destination:=Range("B2:B" & m) '填充B 行

'設置A 行內容為所選文件下所有圖譜名稱

Range("A1") = "原名稱"

strPath = pth & "\"

f = Dir(strPath & "*.jpg")

k = 1

Do While f <> ""

k = k + 1

Range("A" & k) = f

f = Dir

Loop

'調整AB 列寬

Cells.Select

Cells.EntireColumn.AutoFit '調整AB 列寬

'重命名

a = Cells(Cells.Rows.Count, 1).End(xlUp).Row + 3 'A 列最後可見單元的行號

For b = 2 To a

c = Range("a" & b).Value

cc = Range("b" & b).Value

Name strPath & c As strPath & cc '重命名

Next

MsgBox ("重命名完成")

End Sub

⑵ 關於圖片批量導入word中並在圖片上方附加文件名的VBA代碼編輯

Sub 批量插入圖片()
Dim myfile As FileDialog
Set myfile = Application.FileDialog(msoFileDialogFilePicker)
With myfile
.InitialFileName = "E:\工作文件" 『這里輸入你要插入圖片的目標文件夾
If .Show = -1 Then
For Each Fn In .SelectedItems
Selection.Text = Basename(Fn) '這兩句移到這里
Selection.EndKey
If Selection.Start = ActiveDocument.Content.End - 1 Then '如游標在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Set MyPic = Selection.InlineShapes.AddPicture(FileName:=Fn, SaveWithDocument:=True) '按比例調整相片尺寸
WidthNum = MyPic.Width
c = 6 '在此處修改相片寬,單位厘米
MyPic.Width = c * 28.35
MyPic.Height = (c * 28.35 / WidthNum) * MyPic.Height
If Selection.Start = ActiveDocument.Content.End - 1 Then '如游標在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Next Fn
Else
End If
End With
Set myfile = Nothing
End Sub
Function Basename(FullPath) '取得文件名
Dim x, y
Dim tmpstring
tmpstring = FullPath
x = Len(FullPath)
For y = x To 1 Step -1
If Mid(FullPath, y, 1) = "\" Or _
Mid(FullPath, y, 1) = ":" Or _
Mid(FullPath, y, 1) = "/" Then
tmpstring = Mid(FullPath, y + 1)
Exit For
End If
Next
Basename = Left(tmpstring, Len(tmpstring) - 4)
End Function
執行此代碼後,彈出的選擇對話框, 全選目標文件夾下的所有圖片文件之後,點擊確定。然後靜靜的等待電腦完成處理工作,次數word會進入無響應狀態。圖片越多,無響應的時間越長。

⑶ 想在word頁面中,批量插入圖片,使得每頁有4張圖片均勻分布在頁面中,該怎麼做呢

這是統一設置word文檔中的圖片樣式,你的問題我不會,但是希望這個例子會對你有點提示。

使用宏:
一,在word中按alt+f11組合鍵,進入VBA模式
二,在左邊的工程資源管理器中找到你的word文檔,在其上右鍵/添加/模塊
三,把下面代碼復制,粘貼進去.
四,更改數值, 改一下寬度和高度數值(10),點運行(類似播放按鈕.)或f5,即可設置文檔中全部圖片
Sub Macro()
Mywidth=10'10為圖片寬度(厘米)
Myheigth=10'10為圖片高度(厘米)
For Each iShape In ActiveDocument.InlineShapes
iShape.Height = 28.345 * Myheigth
iShape.Width = 28.345 * Mywidth
Next iShape
End Sub

⑷ word如何設置宏批量插入圖片到word表格里(每一行2到3個表格)

郵件合並功能,應該是不能實現的吧。
採用簡單的VBA宏編程,針對具體的表格格式,很容易實現的。可以hi我。

⑸ 用vba如何批量插入圖片,公式詳解

您好,根據您的需求,批量插入圖片的參考代碼如下:

OptionExplicit

PublicSub批量插入圖片()
DimrngPictureAsRange

DimlngRowAsLong
DimintColAsInteger

WithActiveSheet
ForlngRow=1To16Step8
ForintCol=1To12Step3
SetrngPicture=.Cells(lngRow+1,intCol+2)
笑好rngPicture.Select

With.Pictures.Insert("E:坑圖"&rngPicture.Value&".jpg").ShapeRange
.Height=70.5
.Width=105
EndWith
Next
Next
EndWith

SetrngPicture=Nothing
EndSub


PS:具體使用時請自行粗升源修改演示代碼中的循環起止行、起止列和步進值。如果圖片插入到單元格後出現偏移,請設岩態置 Picture 的 Left 屬性和 Top 屬性。


另外,也可以設置圖片在單元格內水平居中(比單元格大的圖片暫不考慮),參考代碼如下:

OptionExplicit

PublicSub批量插入圖片水平居中()
DimrngPictureAsRange

DimlngRowAsLong
DimintColAsInteger

WithActiveSheet
ForlngRow=1To16Step8
ForintCol=1To12Step3
SetrngPicture=.Cells(lngRow+1,intCol+2)
rngPicture.Select

With.Pictures.Insert("E:坑圖"&rngPicture.Value&".jpg").ShapeRange
.Left=rngPicture.Left+(rngPicture.Width-.Width)/2
.Top=rngPicture.Top+(rngPicture.Height-.Height)/2
EndWith
Next
Next
EndWith

SetrngPicture=Nothing
EndSub

⑹ word用vba批量導入圖片文件時,怎樣保留圖片原有大小,而不是統一固定大小跪謝!下為您原來提供的代碼

試試把
MyPic.Width = c * 28.35
MyPic.Height = (c * 28.35 / WidthNum) * MyPic.Height
改為
'MyPic.Width = c * 28.35
'MyPic.Height = (c * 28.35 / WidthNum) * MyPic.Height

⑺ 在word中自動插入圖片 vba代碼

Sub 批量插入圖片()
Dim myfile As FileDialog
Set myfile = Application.FileDialog(msoFileDialogFilePicker)
With myfile
.InitialFileName = "E:\工作文件" 『這里輸入你要插入圖片的目標文件夾
If .Show = -1 Then
For Each Fn In .SelectedItems
Selection.Text = Basename(Fn) '這兩句移到這里
Selection.EndKey
If Selection.Start = ActiveDocument.Content.End - 1 Then '如游標在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Set MyPic = Selection.InlineShapes.AddPicture(FileName:=Fn, SaveWithDocument:=True) '按比例調整相片尺寸
WidthNum = MyPic.Width
c = 6 '在此處修改相片寬,單位厘米
MyPic.Width = c * 28.35
MyPic.Height = (c * 28.35 / WidthNum) * MyPic.Height
If Selection.Start = ActiveDocument.Content.End - 1 Then '如游標在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Next Fn
Else
End If
End With
Set myfile = Nothing
End Sub
Function Basename(FullPath) '取得文件名
Dim x, y
Dim tmpstring
tmpstring = FullPath
x = Len(FullPath)
For y = x To 1 Step -1
If Mid(FullPath, y, 1) = "\" Or _
Mid(FullPath, y, 1) = ":" Or _
Mid(FullPath, y, 1) = "/" Then
tmpstring = Mid(FullPath, y + 1)
Exit For
End If
Next
Basename = Left(tmpstring, Len(tmpstring) - 4)
End Function
執行此代碼後,彈出的選擇對話框, 全選目標文件夾下的所有圖片文件之後,點擊確定。然後靜靜的等待電腦完成處理工作,次數word會進入無響應狀態。圖片越多,無響應的時間越長。

⑻ 利用VBA如何將批量圖片導入WORD的指定表格格式里

將excel表格中的數據批量插入到word中的操作方法:
1、單擊插入----對象按鈕;
2、彈出插入對話框對話框,選擇由文件創建對話框,單擊瀏覽按鈕;
3、彈出瀏覽對話框,選擇需要插入有Excel文件;
4、單擊插入按鈕即可。
註:
(1)若選中鏈接到文件,源文件修改,Word中的表格也隨之改變;
(2)若選中顯示為圖片,則以圖標的形式插入到Word,雙擊可以打開其源文件。

⑼ vba關於批量插入圖片

批量插入圖片代碼:
sub 圖片導入
dim s as shape
dim rg as range
'刪除已有的圖片
for each s in activesheet.shapes
if s.type <> 8 then
s.delete
end if
'導入圖片
for each rg in range("B2:B10")'這里放要插入圖片的單元格範圍 B2:B10可以改成所需要的范圍。
activesheet.shapes.addshape(msoshaperectangle,rg.left,rg.top,rg.width,rg.height).select
selection.shaperange.fill.userpicture "E:\圖片"& rg.offset(0, -1) & ".jpg"'這里指定的是圖片的存儲路徑為E盤下的圖片文件夾,然後圖片名稱與A列的數據一致,後綴名為JPG格式。這些都可以自行更改,根據需要來定。
next rg
end sub

⑽ 尋找WORD VBA高手解決WORD批量插入圖片程序的問題

Selection.Text = Basename(Fn) '這兩句移到這里
Selection.EndKey

這兩句移一下位置,其它不變。

Sub 批量插入圖片()
Dim myfile As FileDialog
Set myfile = Application.FileDialog(msoFileDialogFilePicker)
With myfile
.InitialFileName = "D:\111"
If .Show = -1 Then
For Each Fn In .SelectedItems
Selection.Text = Basename(Fn) '這兩句移到這里
Selection.EndKey
Set mypic = Selection.InlineShapes.AddPicture(FileName:=Fn, SaveWithDocument:=True)
'按比例調整相片尺寸
WidthNum = mypic.Width
c = 18 '在此處修改相片寬,單位厘米
mypic.Width = c * 28.35
mypic.Height = (c * 28.35 / WidthNum) * mypic.Height
If Selection.Start = ActiveDocument.Content.End - 1 Then '如游標在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
If Selection.Start = ActiveDocument.Content.End - 1 Then '如游標在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Next Fn
Else
End If
End With
Set myfile = Nothing
End Sub
Function Basename(FullPath) '取得文件名
Dim x, y
Dim tmpstring
tmpstring = FullPath
x = Len(FullPath)
For y = x To 1 Step -1
If Mid(FullPath, y, 1) = "\" Or _
Mid(FullPath, y, 1) = ":" Or _
Mid(FullPath, y, 1) = "/" Then
tmpstring = Mid(FullPath, y + 1)
Exit For
End If
Next
Basename = Left(tmpstring, Len(tmpstring) - 4)
End Function

閱讀全文

與word中vba批量插入圖片相關的資料

熱點內容
如何把圖片上的馬賽克劈掉 瀏覽:374
胡詩琪女孩的圖片 瀏覽:929
怎麼把電腦的圖片銳化 瀏覽:280
男生情感手寫圖片 瀏覽:607
男生耍賴不走的圖片 瀏覽:552
男生抱大熊的背影圖片 瀏覽:17
荷花中午好文字圖片 瀏覽:842
奧迪q4價格及圖片2019 瀏覽:514
整改單幅圖片如何旋轉 瀏覽:685
米妮圖片可愛頭像萌萌 瀏覽:118
大邁x5價格及圖片 瀏覽:872
wps上word怎樣同時插入很多張圖片 瀏覽:703
少女動漫唯美圖片大全 瀏覽:97
卡通側面圓臉圖片可愛 瀏覽:156
茅台窯酒價格及圖片 瀏覽:153
淋雨的女孩兒心更冷圖片 瀏覽:846
紅衣美女的腳圖片 瀏覽:762
今日暫停營業文字圖片 瀏覽:717
美麗的女孩圖片漫畫 瀏覽:420
10小女孩圖片可愛 瀏覽:780