㈠ word 文檔中的圖片怎麼用vba 批量自動保存為逐個的jpg 文件呢
不用VBA,編程一般人玩不了,給你一個最簡單的方法,可以一下子把所有的圖片一下子保存都保存下來。
1、你先把Word文檔復制一個副本,用於保存原文檔。
2、打開Word文檔,Word菜單→另存為→選擇htm網頁格式,找到位置,保存。退出文檔。
3、在保存網頁的位置,找到與文檔相同名字的一個文件夾,你想要的圖片都在文件夾內了。
4、整理一下文件夾內的圖片,OK。(可能會有較多不想要的其他東西,可以刪除),也可以把文件夾外的網頁文件刪除了。
㈡ 求助:如何通過VBA批量選中word文檔里的嵌入型圖片或表格
提供示例代碼供參考:
SubBatEditPic()
DimShapesCountAsInteger
DimiAsInteger
ShapesCount=ActiveDocument.InlineShapes.Count
Fori=1ToShapesCount
WithActiveDocument.InlineShapes(i)
'修改圖片邊框
With.Borders(wdBorderTop)
.LineStyle=wdLineStyleSingle
.LineWidth=wdLineWidth050pt
EndWith
With.Borders(wdBorderBottom)
.LineStyle=wdLineStyleSingle
.LineWidth=wdLineWidth050pt
EndWith
With.Borders(wdBorderLeft)
.LineStyle=wdLineStyleSingle
.LineWidth=wdLineWidth050pt
EndWith
With.Borders(wdBorderRight)
.LineStyle=wdLineStyleSingle
.LineWidth=wdLineWidth050pt
EndWith
EndWith
Nexti
EndSub
㈢ 在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中獲取word文檔中的圖片
於圖片來說,,分為二種的,,
第一種:是Shape對象(Word中自帶的「自選圖形」)
第二種:是InlineShape對象(嵌入式圖片,也就是所謂的通過點擊菜單欄中的「插入」->「圖片」->「來自文件」)
-------------------
如何判斷word文檔中是否存在一張圖片呢?這個問題。
我來解答:判斷word文檔中是否存在一張圖片,可以通過看一看word文檔中的inlineshape對象的數量來判斷。
舉例:
Dim doc As Document '當前打開的文檔對象Document
Dim MyApp As Word.Application 'Word應用程序對象
Dim MyFileName As String '當前打開的文件名
MyFileName="c;\aaa.doc" '此處可以改成你的文件名字
Set MyApp = CreateObject("Word.Application")
Set doc = MyApp.Documents.Open(MyFileName)
If doc.InlineShapes.Count <> 0 then
msgbox "有嵌入式圖片存在!"
Else
msgbox "沒有嵌入式圖片存在!"
End if
-------------------------------------------------------
如果你非要想知道,用戶到底是不是插入了你要求的圖片的話,你要必須要再他進行插入圖片操作時進行控制,也就是說,你必須把用戶所插入的圖片的(絕對地址)或者(圖片名字)添加到用戶所插入圖片的「可選文字」中記錄下來。
MydocInlineShapes.AddPicture(FileName, LinkToFile, SaveWithDocument, Range)
FileName String 類型,必需。指定要創建對象的文件名。如果忽略本參數,則使用當前文件夾。
LinkToFile Variant 類型,可選。如果此屬性設置為 True,則將 OLE 對象與創建該對象的文件鏈接。如果設置為 False,則令該 OLE 對象成為該文件的獨立副本。默認值為 False。
SaveWithDocument Variant 類型,可選。如果此屬性為 True,則將鏈接的圖片與文檔一起保存。默認值為 False。
Range Variant 類型,可選。指定一個區域,OLE 對象放置在該區域的文字中。如果該區域未折疊,那麼圖片將覆蓋該區域。如果忽略此參數,則自動放置圖片。
ActiveDocument.Shapes.AddPicture "C:\stone.bmp",True, True,MyRange
ActiveDocument.InlineShapes(ID).AlternativeText = App.Path & "\temp" & shapeII & ".bmp" '添加「可選文字」
㈥ 怎麼用VBA把WORD里的所有圖片另存成文件
在Word中選擇菜單【文件】【另存為】,選擇網頁
㈦ word中使用vba按照現在圖片的順序,用新的圖片把舊圖片全部替換,圖片名稱統一由規定的
解題思路很重要,下面給出替換圖片的關鍵代碼:
Sub替換活動文檔中的第一張圖片()
ActiveDocument.InlineShapes(1).Select
Selection.InlineShapes.AddPicture"[要替換的圖片的完整路徑]"
EndSub
PS:實際使用中可以將要替換的新圖片按照 Word 文檔中的圖片出現的順序進行編號(如1.jpg、2.jpg、3.jpg...)並放入一個文件夾中,然後將上述代碼放入循環語句中並稍作修改,通過遍歷 Word 文檔中的 InlineShapes 對象同時傳遞圖片的完整路徑即可實現全部替換!
㈧ 如何用vba取得一個word文件中的所有的圖片
提供網上示例代碼供參考(此代碼的思路是遍歷 word 文檔中的 Shapes ,縮放到原始圖片尺寸,再轉粘貼到 Excel 中,借用 Excel 的 ChartObjects 提供的導出功能實現圖片原樣導出):
Subtest()
Rem工具--引用--勾選MicrosoftExcelx.xObjectLibrary..
DimmyshapeAsObject,ExcelAppAsNewExcel.Application
DimExcelAsWorkbook,i%,z%
SetExcel=ExcelApp.Workbooks.Add
.InlineShapes
Ifmyshape.Type=3Then
i=i+1
myshape.Select
Setmyshape=myshape.ConvertToShape
Rem以下代碼將圖片以原始比例展示
Withmyshape
.ScaleHeight1,True,msoScaleFromMiddle
.ScaleWidth1,True,msoScaleFromMiddle
EndWith
Selection.Copy
WithExcel.ActiveSheet.ChartObjects.Add(0,0,myshape.Width,myshape.Height).Chart
.Paste
.ExportActiveDocument.Path&""&i&".png"
.Parent.Delete
EndWith
EndIf
Next
Excel.CloseFalse
ExcelApp.Quit
EndSub