请教,word插入图片问题。

qq_40952908 qq_40952908 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请教,word插入图片问题。
在同一个目录下,有十至30左右的DOC文件和相等数量的JPG文件,文件名相同,如:张三.doc和张三.jpg
要把图片插入到doc文件中。

指定文件名时,没有出错,但使用变量时,就过不去。

Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
Dim objWdRange As Word.Range
Dim GraphImage As String
GraphImage = "c:\456\timg.jpg"
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open("c:\456\timg.doc")

Selection.MoveDown Unit:=wdLine, Count:=2


With wrdDoc
Dim wrdPic As Word.InlineShape
Set wrdPic = .Range.InlineShapes.AddPicture(FileName:=GraphImage, LinkToFile:=False, SaveWithDocument:=True)
wrdPic.ScaleHeight = 50
wrdPic.ScaleWidth = 50
ActiveDocument.Save
End With
wrdDoc.Close
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

这个是指定文件名的 可以通过

'文件名分类
Dim a() As String
Dim doc() As String
Dim jpg() As String

Dim i As Integer
Dim j As Integer

Dim fn As String


Dim fso As Object
Dim folder As Object
Dim subfolder As Object
Dim file As Object
Set fso = CreateObject("scripting.filesystemobject") '??FSO??
Set folder = fso.getfolder("c:\456")
TextBox2.Text = ""
For Each file In folder.Files '??????????
' MsgBox file '?????

If TextBox2.Text = "" Then
TextBox2.Text = file & ","
Else




TextBox2.Text = TextBox2.Text & vbCrLf & file & ","
' TextBox1.TextBox = file
'?????
End If
Next
Set fso = Nothing
Set folder = Nothing

a = Split(TextBox2.Text, ",") '??????
doc = Split(TextBox2.Text, ",")
jpg = Split(TextBox2.Text, ",")




For i = 0 To UBound(doc) '????.doc ??????
If doc(i) <> "" Then
If Right(doc(i), 4) <> ".doc" Then
doc(i) = ""
End If

If Left(doc(i), 1) = "~$" Then
doc(i) = ""
End If
End If

Next


For i = 0 To UBound(doc) '????.jpg ??????
If jpg(i) <> "" Then
If Right(jpg(i), 4) <> ".jpg" Then
jpg(i) = ""
End If
End If

Next


TextBox2.Text = ""

For i = 0 To UBound(doc) '??doc

If doc(i) <> "" Then

If TextBox2.Text = "" Then
TextBox2.Text = doc(i)
Else
TextBox2.Text = TextBox2.Text & vbCrLf & doc(i)
End If

End If

Next

TextBox3.Text = ""

For i = 0 To UBound(jpg) '??jpg

If jpg(i) <> "" Then

If TextBox3.Text = "" Then
TextBox3.Text = jpg(i)
Else
TextBox3.Text = TextBox3.Text & vbCrLf & jpg(i)
End If

End If


Next


'分类完成


'插图


'-----------------------------------------------------


For i = 0 To UBound(doc)
If doc(i) <> "" Then
j = 0

j = i + 1





Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
Dim objWdRange As Word.Range
Dim GraphImage As String
GraphImage = jpg(j)
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open(doc(i))




With wrdDoc
Dim wrdPic As Word.InlineShape
Set wrdPic = .Range.InlineShapes.AddPicture(FileName:=GraphImage, LinkToFile:=False, SaveWithDocument:=True)
wrdPic.ScaleHeight = 50
wrdPic.ScaleWidth = 50
ActiveDocument.Save
End With
wrdDoc.Close
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing




Label1.Caption = "完成"






' Selection.InlineShapes(1).Height = 76.55
' Selection.InlineShapes(1).Width = 62.35

' Selection.Cut
' Selection.MoveDown Unit:=wdLine, Count:=2
' Selection.PasteAndFormat (wdPasteDefault)
' ActiveDocument.Save
' ActiveDocument.Close
End If

Next


这是变量名为文件名,在插入图片时,总是报错。
请大神帮我看看,万分感谢

...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
qq_40952908
Office开发/ VBA 5,174 成员 17,906 内容