Put the following function in the same module
Code:
Private Function BrowseForFile(Optional strTitle As String) As String
Dim fDialog As FileDialog
On Error GoTo err_Handler
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.TITLE = strTitle
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Graphics Files", "*.jpg,*.png,*.bmp"
.InitialView = msoFileDialogViewList
If .Show <> -1 Then GoTo err_Handler:
BrowseForFile = fDialog.SelectedItems.Item(1)
End With
lbl_Exit:
Exit Function
err_Handler:
BrowseForFile = vbNullString
Resume lbl_Exit
End Function
and change the code text you quoted to
Code:
Dim oShp As Shape
Dim strFName As String
strFName = BrowseForFile("Select the picture to insert")
Set oShp = ActiveDocument.Shapes.AddPicture(FileName:=strFName, _
SaveWithDocument:=True)