Ciao, potresti disegnare l'immagine sulla stampante, adattandola a qualsiasi formato:
Sub StampaImmagine()
Dim Larghezza As Long
Dim Altezza As Long
Dim FotoWidth As Long
Dim FotoHeight As Long
'definisco la stampante come l'immagine
Printer.ScaleMode = vbTwips
'voglio 12 x 10 mm.
FotoWidth = 12
FotoHeight = 10
Larghezza = InteroSuperiore(567 * FotoWidth / Printer.TwipsPerPixelX, 0) * Printer.TwipsPerPixelX
Altezza = InteroSuperiore(567 * FotoHeight / Printer.TwipsPerPixelY, 0) * Printer.TwipsPerPixelY
'carico l'immagine in dimensione massima su un controllo Image
Set Image1.Picture = LoadPicture()
Set Image1.Picture = LoadPicture(App.Path & "\TEST.BMP", vbLPLarge, vbLPColor)
'disegno l'immagine sulla stampante
Printer.PaintPicture Image1.Picture, 100, 100, Larghezza, Altezza
Printer.EndDoc
End Sub
Questo è un semplice esempo base, ma si può centrare, stampare in orizzontale, ecc.