Grande parte está resolvida. Mas:
1º=> Minha caixa de diálogo antes da impressão não deixa disponivel a parte de selecionar qual a folha a ser impressa. O que posso fazer, pois tenho que deixar de alguma forma, a alternativa de imprimir somente uma pagina a criterio do usuario?
2º=> o comando left conta os caracteres, tem como eu limitar um campo de impressão atraves de medida?
3º=> minha folha continua não imprimindo até o fim. Vejam o que há de errado:
Private Sub Command9_Click()
'mostra a janela para impressora
CommonDialog1.ShowPrinter
Dim bancodados As Database
Dim produto As Recordset
Dim linha As Integer
linha = 1
Set bancodados = OpenDatabase("D:Meus DocumentosOutrosVisual BasicTabelasMatriz.mdb")
Set produto = bancodados.OpenRecordset("Produto", dbOpenTable)
produto.Index = "DESCR"
Printer.FontName = "Arial"
Printer.FontSize = 9.5
Printer.ScaleMode = 6
Printer.ScaleHeight = 280
Printer.ScaleWidth = 240
Do While Not produto.EOF
If linha = 1 Then
Cabeçalho
Cabeçalho2
End If
Printer.Print Tab(1.5); Left(produto("COD PROD"), 12); Tab(19); Left(produto("UND"), 2); Tab(24); Left(produto("DESCR"), 26); Tab(70); Left(produto("APLICAC"), 26); Tab(116); Left(produto("PRECO VEND"), 9); Tab(128); Left(produto("FABRICANTE"), 20)
linha = linha + 1
produto.MoveNext
If linha >= 60 Then
Printer.Print
Printer.Print
Printer.Print Tab(52); "Página"; Printer.Page
Printer.NewPage
linha = 1
End If
Loop
Printer.EndDoc
produto.Close
bancodados.Close
End Sub
Private Function Cabeçalho()
Printer.Print
Printer.Print
Printer.Print Format(Now, "long time"); Tab(48); "Lista de Preços"; Tab(130); Format(Now, "short date")
Printer.Print
Printer.Print
End Function
Private Function Cabeçalho2()
Printer.Print Tab(1.5); "Código"; Tab(19); "Un"; Tab(24); "Descrição"; Tab(70); "Aplicação"; Tab(116); "Preço"; Tab(128); "Fabric"
Printer.Print
End Function
O que está errado? Já aumentei o Printer.ScaleWidth, já aumentei o left do fabricante...
OBS: Fiz dois cabeçalhos pois quero que cada um seja impresso com uma configuração diferente. O primeiro quero que fique com font 10, e negrito. O segundo font 10, e sublinhado. Quando tentei fazer isto, as configuraçoes interfiriram na impressao dos registros.