如何将图片和图片文件名字按照时间顺序,通过vba直接插入到word中,我下边有代码,只是插入格式不符合。

Sub插入图片()'此代码功能将选中的图片插入到word中DimMyDialogAsFileDialog,GetStrAsStringOnErrorResumeNext'... Sub 插入图片() '此代码功能将选中的图片插入到word中
Dim MyDialog As FileDialog, GetStr As String
On Error Resume Next '忽略错误
'1、定义一个文件夹选取对话框
Set MyDialog = Application.FileDialog(msoFileDialogFilePicker)
With MyDialog
.Filters.Clear '清除所有文件筛选器中的项目
.Filters.Add "请选择图片", "*.jpg", 1 '增加筛选器的项目为所有WORD文件
.AllowMultiSelect = True '允许多项选择
If .Show = -1 Then '确定
Selection.TypeParagraph '回车

'3、将图片插入表格
Dim flag As Boolean

flag = True

For Each vrtSelectedItem In .SelectedItems '在所有选取项目中循环

If flag = True Then
Selection.InlineShapes.AddPicture FileName:=vrtSelectedItem, LinkToFile:=False, SaveWithDocument:=True '插入选择图片

Selection.TypeParagraph '回车确定
Selection.TypeText Text:=Right(vrtSelectedItem, 8) '插入图片
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter '居中显示
GetStr = GetStr & vbCrLf & Right(vrtSelectedItem, 8)
Selection.MoveRight Unit:=wdCell, Count:=1 '光标向下移动
flag = -flag

Else:
Selection.InlineShapes.AddPicture FileName:=vrtSelectedItem, LinkToFile:=False, SaveWithDocument:=True '插入选择图片
Selection.TypeParagraph '回车
Selection.TypeText Text:=Right(vrtSelectedItem, 8) '插入文件名
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter '居中显示
GetStr = GetStr & vbCrLf & Right(vrtSelectedItem, 8)

Selection.MoveDown Unit:=wdLine, Count:=1 '光标向下移动
Selection.MoveLeft Unit:=wdCell, Count:=1 '光标向左移动
flag = -flag
End If
Next vrtSelectedItem

End If
End With

ActiveDocument.Save '保存
For Each iShape In ActiveDocument.InlineShapes
iShape.Height = iShape.Height * 0.5
iShape.Width = iShape.Width * 0.5
Next iShape
End Sub
我想把插入的图片和名字一页A4纸排六张,两列三排 图片大小通过
For Each iShape In ActiveDocument.InlineShapes
iShape.Height = iShape.Height * 0.5
iShape.Width = iShape.Width * 0.5
Next iShape

调过正好,每个图片下留空白居中导入对应文件名就可以。这个代码插入后,格式就乱了。向大家讨教下。
展开
 我来答
TAT萝卜
2012-12-21 · TA获得超过4972个赞
知道大有可为答主
回答量:3084
采纳率:66%
帮助的人:1124万
展开全部
什么格式乱了?
追问
我想图片一页6张,两列3排,按那个插入后图片排成一列,图片下边文本标注的图片名称也不是图片文件的全名。
追答
你要先插入一个两列的表格。光标放在第一格,再运行宏。
显示文件全名把
Selection.TypeText Text:=Right(vrtSelectedItem, 8)
改成 Selection.TypeText Text:=vrtSelectedItem
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
元桃雨q7
2012-12-21 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:437
采纳率:0%
帮助的人:208万
展开全部
学习了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式