Este código lo que hace copia la imagen al portapapeles y luego la pega en el RichTextBox
<?:namespace prefix = o ns = "urn:schemas-microsoft-com

ffice

ffice" />
Agregar un Command1 un CommonDialog1 y un RichTextBox1
Calve:
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Private Const WM_PASTE = &H302
Private Sub Command1_Click()
On Error GoTo ErrorImagen
Dim strRutaImagen As String
Dim imgLaImagen As Picture
Dim strContenidoPortapapeles As String
With CommonDialog1
.DialogTitle = "Insertar imagen"
.CancelError = True
.Filter = "Todos los archivos de imágenes|*.gif;*.jpg;*.jpe;*.bmp;*.png|Imágenes GIF (*.gif)|*.gif|Imágenes JPG (*.jpg, *.jpe)|*.jpg;*.jpe|Imágenes de mapas de bits (*.bmp)|*.bmp|Imágenes PNG (*.png)|*.png|Todos los archivos (*.*)|*.*"
.FilterIndex = 1
.Flags = cdlOFNFileMustExist Or cdlOFNHideReadOnly
.ShowOpen
strRutaImagen = .FileName
End With
Set imgLaImagen = LoadPicture(strRutaImagen)
strContenidoPortapapeles = Clipboard.GetText
Clipboard.Clear
Clipboard.SetData imgLaImagen
SendMessage RichTextBox1.hWnd, WM_PASTE, 0, 0
Clipboard.Clear
Clipboard.SetText strContenidoPortapapeles
Exit Sub
ErrorImagen:
If Err.Number <> 32755 Then
MsgBox "Error " & Err.Number & " " & Err.Description
Exit Sub
End If
End Sub