Si usas el objeto Printer te puedes encontrar con que VB pasa de ti y siempre imprime con el tipo de letra por defecto. Yo lo solucioné de esta forma: Printer.Print "" 'Esta linea parece ser que reinicializa la impresora Printer.Font.Size = 14 Printer.Font = "Arial" Printer.Print Txt Printer.EndDoc ---------------------------------------------------------------------------------------------- Suponiendo un DataGrid enlazado a un adodc, haz algo como esto: if not adodc.recordset.eof then adodc.recordset.movefirst print DataGrid.Columns(0).Caption; Tab(anchoColumna); DataGrid.Columns(1).Caption; Tab(AnchoColumna); ... do while not adodc.recordset.eof print Datagrid.Columns(0).text; Tab(AnchoColumna); DataGrid.Columns(1).text; Tab(AnchoColumna); .... adodc.recordset.movenext // Controlar salto de pagina loop end if