Я создаю несколько отчетов с кучей изображений (более 50 изображений). Мне нужно вставить их в определенном порядке. У меня есть запущенный скрипт, который открывает диалоговое окно, и я могу выбрать фотографии, которые я хочу, но когда я нажимаю ОК, он вставляет изображения в алфавитном порядке. Я хочу, чтобы они были вставлены в том порядке, в котором я выбираю их в диалоговом окне.
Я пытался найти методы, относящиеся к методам вставки в VBA. Ничего?
Sub InsertSelectedPixs()
Dim fd As FileDialog
Dim picPath As String
Dim fnd As Variant
Dim rep As Variant
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
With fd
.InitialFileName = "*"
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "Images", "*.png; *.jpg; *.jpeg; *.tif"
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
Set MyPic = ActiveDocument.InlineShapes.AddPicture(vrtSelectedItem)
picName = Right(vrtSelectedItem, Len(vrtSelectedItem) - InStrRev(vrtSelectedItem, "\"))
MyPic.Select
MyPic.LockAspectRatio = msoTrue
MyPic.Width = CentimetersToPoints(7.25)
Selection.MoveDown wdLine
Selection.TypeText Chr(11)
Selection.InsertCaption Label:="Figure", Title:=". " & picName, Position:=wdCaptionPositionBelow
Selection.Collapse wdCollapseEnd
Selection.TypeText Chr(10)
Next vrtSelectedItem
Else
End If
End With
Set fd = Nothing
With ActiveDocument.Content.Find
.Execute FindText:=".jpg", ReplaceWith:="", Format:=True, Replace:=wdReplaceAll
End With
ActiveDocument.Range(0, 0).Select
Selection.WholeStory
Dim oRange As Word.Range
If ActiveDocument.Range.Tables.Count <> 0 Then Exit Sub
Set oRange = ActiveDocument.Range
oRange.ConvertToTable Separator:=wdSeparateByParagraphs, Format:=wdTableFormatGrid1, NumColumns:=2
Set oRange = Nothing
End Sub
Изображения импортируются в документ Word в алфавитном порядке, а не в выбранном порядке на экране выбора (диалоговое окно файла)