Bom, tive que mudar a lógica... veja aí:
Private Sub CommandButton1_Click()
Dim file As String
Dim file2 As String
Dim Extensao As String
Dim texto As String
Dim pagina As String
Dim arquivo As String
Dim cabecalho As String
Dim Folha As String
Dim i As Long, linha As Long
file = "c:Teste_pagina"
Extensao = ".txt"
Open file & Extensao For Input As #1
texto = ""
pagina = ""
cabecalho = ""
Do While Not EOF(1)
Line Input #1, texto
If linha < 4 Then
cabecalho = cabecalho & texto & vbNewLine
linha = linha + 1
ElseIf linha >= 4 Then
If InStr(1, cabecalho, texto, vbTextCompare) = 0 Then
pagina = pagina & texto & vbNewLine
linha = linha + 1
Else
Folha = cabecalho & pagina
file2 = file & "_" & Format(i, "00") & Extensao
'Grava arquivo
Open file2 For Output As #2
Print #2, Folha
Close #2
'lê o arquivo para impressão
Open file2 For Input As #2
arquivo = Input(LOF(2), #2)
printer.Print arquivo
printer.EndDoc
Close #2
i = i + 1
'deleta o arquivo temporário
Kill file2
cabecalho = texto & vbNewLine
pagina = ""
texto = ""
linha = 0
End If
End If
Loop
Close #1
End Sub
Testa aí depois posta!
at+