❶ 寻找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实现依次新建文档并插入指定文件夹中的图片并命名保存在指定文件夹
以word2007为例,方法如下:
1、点击图片,另存为“筛选过的网页”。
❸ Word邮件合并以后如何做个vba,自动刷新图片
Word中的邮件合并中,要把照片显示出来是有讲究的,不能像其它内容一样直接插入。
1. 首先要准备好好照片,照片大小和分辨率应一致,并把照片文件全部放到数据源同一个文件夹下
2. 在数据源表格(一般为Excel表格或Word表格),表格标题名称照片,下面各行分别是照片的文件名,文件名应与前面的姓名相同,扩展名一般为.jpg
3. 在主文档中,插入照片的位置处,插入域——Includepicture,为便于后续处理,在“文件名或URL”框中,随便输入一预设文件名,图片中输入了1。
5. 按Alt+F9切换域结果的格式,这样就完成了照片的邮件合并
6. 完成合并邮件。
❹ 用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
❺ vb.net 如何在word文档的指定位置插入图片
会用VBA吗,先在word里面插入图片录制宏,然后将录制的VBA代码修改成.net代码就可以了
❻ 在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中插入指定图片并保存在与图片名字相同的word中
给你一条思路吧。
第一,打开word文件,用录制宏录一段插入图片的代码(这里注意代码的路径和图片名);再录一段保存文件到A目录的代码。备用;
第二,新建一个excel文件,将你A1到A3文件夹里需要建文件的人名全部列到excel的某一列中;
第三,在excel里写vba代码,循环执行这些人名,每个人名都有新建、插入图片、保存这个过程(这里会用到第一步录到的代码)。
请自己尝试学习并应用!
❽ 如何运用vba将指定图片插入word中
例如,新建一个4行1列的表格,然后在Cell(3, 1)内插入图片:
Sub Macro1()
Dim mysel
mysel = ActiveDocument.Tables(1).Cell(3, 1)
mysel.InlineShapes.AddPicture FileName:="C:\a.jpg", LinkToFile:=True, SaveWithDocument:=True
End Sub
❾ 在word中如何用VBA实现插入多张图片
要从两个方面考虑:
1、如何把现有文档中的图片导出?这个代码片断可以参考一下:
Set ImageStream = CreateObject("ADODB.Stream")
With ImageStream
.Type = 1
.Open
.Write ActiveDocument.InlineShapes(1).Range.EnhMetaFileBits
.SaveToFile "d:\Temp\Output.bmp"
.Close
End With
Set ImageStream = Nothing
2、如何把已经到处的图片导入到新文档中?这个函数调用可以参考一下:
ActiveDocument.InlineShapes.AddPicture
如果还是不明白的话,请补充提问。
_____
补充:
请问楼主你运行那个代码片断得到的*完整*错误信息是什么?报错的时候,系统一般会把光标移动到出错的那行代码上,你看到的是哪一行代码出错呢?
我看你贴上来的代码应该是没有什么语法上的错误,“Exit For”的确是不应该要的,但那也不是语法错误啊。