Si existe una forma de copiar una imagen o cualquier archivo de un lugar a otro con sus nombres y paths completos y es por medio de FileSystemObject
Un ejemplo de cómo usarlos es el siguiente:
Dim ArchivoObj As Variant
Dim sArchivoOrigen, sArchivoDestino As String
sArchivoOrigen = "c:\Carpeta1\ArchivoA.jpg" 'Archivo origen con ruta completa.
sArchivoDestino = "c:\Otra_Carpeta\Otro_Archivo.jpg" 'Archivo destino con ruta completa.
Set ArchivoObj = CreateObject("Scripting.FileSystemObject") 'Crea un objeto tipo FileSystemObject
ArchivoObj.CopyFile sArchivoOrigen, sArchivoDestino 'Copia de un archivo al otro.
Igual modifique un proyecto de VisualBasic para realizar la tarea que necesitas con unos extras interesantes. Lo adjunto a este mensaje para que lo revises y me cuentes.
Nota: Como la forma de crear el objeto es por medio de un script, si tienen activo algun programa anti spyware, les alarmará preguntando si lo dejan correr o no. Solo es la primera vez si le dicen que sí.
P.D. Encontré esta información en el help de Visual Basic.
FileSystemObject (Objeto)
Descripción
Proporciona acceso al sistema de archivos de un equipo.
Sintaxis
Scripting.FileSystemObject
Comentarios
El código siguiente demuestra cómo se utiliza el objeto FileSystemObject para devolver un objeto TextStream que se puede leer o en el que se puede escribir:
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\archivoprueba.txt", True)
a.WriteLine("Esto es una prueba.")
a.Close
En el código que se muestra arriba, la función CreateObject devuelve el objeto FileSystemObject (fs). El método CreateTextFile crea entonces el archivo como un objeto TextStream (a) y el método WriteLine escribe una línea de texto al archivo de texto creado. El método Close vacía el búfer y cierra el archivo.