tente assim...
'no mudule
Public Enum alinhar_Lado
Direito = 1
Esquerdo = 2
Centro = 3
End Enum
Public Sub Alinhar_Texto(Obj As Object, x As Integer, y As Integer, texto As String, Lado As alinhar_Lado, Optional FimLinha As Boolean)
Obj.CurrentY = y
Select Case Lado
Case 1 ' direito
Obj.CurrentX = x - Obj.TextWidth(texto)
Case 2 ' esquerdo
Obj.CurrentX = x
Case 3 ' centro
Obj.CurrentX = ((x - Obj.TextWidth(texto)) / 2)
End Select
If FimLinha = True Then
Obj.Print texto
Else
Obj.Print texto;
End If
End Sub
Public Sub Set_Fonte(Obj As Object, size As Integer, fName As Variant, cor As String, b As Boolean, i As Boolean, u As Boolean, s As Boolean)
With Obj
.ForeColor = cor 'RGB(0, 0, 0)
.FontName = fName ' "Arial"
.FONTSIZE = size
.FontBold = b
.FontItalic = i
.FontUnderline = u
.FontStrikethru = s
End With
End Sub
'use assim... no form
Set_Fonte Obj, 8, "arial", vbBlack, False, False, False, False
Call Alinhar_Texto(Obj, posiçãoX, posiçãoY, texto,Esquerdo)
'obj pode ser printer, picture, form