Вы хотите использовать File Dialog , чтобы позволить вашему пользователю выбирать изображения.
Ниже приведен пример того, как его использовать, вам просто нужно обновить его для ваших конкретныхнеобходимо.Ознакомьтесь с документацией выше, чтобы увидеть больше параметров.
Измените .AllowMultiSelect
на True
, и затем вы можете зациклить каждый файл, выбранный пользователем.
Private Sub TestingFileDialog()
Dim Fd As FileDialog
Set Fd = Application.FileDialog(msoFileDialogFilePicker)
With Fd
'GENERAL SETTINGS
.AllowMultiSelect = False
.Title = "Please select a picture"
.ButtonName = "Choose a picture"
.InitialFileName = "c:\"
.InitialView = msoFileDialogViewList
'FILE FILTERS
.Filters.Clear
.Filters.Add "JPG", "*.JPG"
.Filters.Add "PNG", "*.PNG"
'SHOW FORM, WILL RETURN TRUE IF USER SELECTS A FILE
If .Show = True Then
'Get file name
Dim FilePath As String
FilePath = .SelectedItems(1)
'do whatever you need to from here...
Else
'No file chosen, do something else.
End If
End With
End Sub
Для добавления изображений используйте wdApp.Selection.InlineShapes.AddPicture
.Это примет ваш путь к файлу, который выберет пользователь.
Используя ваш код, он может выглядеть примерно так:
Sub AddImagesToWordDocument()
Set wdApp = New Word.Application
With wdApp
.Visible = True
.Activate
.Documents.Add
With .Selection
.BoldRun
.Font.Size = 20
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.TypeText TextBox2.Value
.TypeText Chr(13)
.BoldRun
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Font.Size = 16
.TypeText "Report"
.TypeText Chr(13)
Dim Fd As FileDialog
Set Fd = Application.FileDialog(msoFileDialogFilePicker)
Fd.AllowMultiSelect = True
Fd.Filters.Clear
Fd.Filters.Add "JPG", "*.JPG"
Fd.Filters.Add "PNG", "*.PNG"
If Fd.Show = True Then
'Loop files and add them
Dim FileIndex As Long
For FileIndex = 1 To Fd.SelectedItems.Count
.InlineShapes.AddPicture Fd.SelectedItems(FileIndex)
Next FileIndex
Else
'No file chosen, do something else if need be.
End If
End With
End With
End Sub