MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Macro para determinar numero de caracteres de texto

    Compartilhe

    Luis Orellano
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 14/04/2016

    Macro para determinar numero de caracteres de texto

    Mensagem  Luis Orellano em Seg 18 Abr 2016, 14:02

    Bom, dia.
    Tenho uma planilha do Excel que me reporta um relatório e imprime em .txt os dados desejados. O problema se dá que esse relatório em .txt fica com as informações "embaralhadas" ao invés de manter sua forma como se apresenta na planilha. Assim:

    Cod. Barras Descrição Diagnostico
    7891242470026 LUSTRA MOVEIS INGLEZA BRY 200ML LAVANDA Inventario erro
    7891024127704 LIMP AJAX F.FLORES FLORES CAMPO 500ml Inventario possivel erro
    7896000719027 SHAMP NIELY CLINIHAIR 250ML REP ABSOLUTA Inventario erro

    quando gostaria que ficasse no exemplo do Anexo

    a macro que estou utilizando é essa para gerar o relatório em .txt:

    Sub SalvarComoTXT()
       UserForm1.Show
    End Sub

    Sub ExecutarSalvarTXT(mPlan As Worksheet, mPathSave As String)
    Dim NovoArquivoXLS As Workbook

       'Cria um novo arquivo excel
       Set NovoArquivoXLS = Application.Workbooks.Add

       'Copia a planilha para o novo arquivo criado
       mPlan.Copy Before:=NovoArquivoXLS.Sheets(1)

       'Salva o arquivo
       Application.DisplayAlerts = False
       NovoArquivoXLS.SaveAs mPathSave & "\" & mPlan.Name & ".txt", _
           FileFormat:=xlText, CreateBackup:=False

       NovoArquivoXLS.Close
       Set NovoArquivoXLS = Nothing
       Application.DisplayAlerts = True

       MsgBox "Novo arquivo salvo em: " & mPathSave & "\" & mPlan.Name & ".txt", vbInformation

    End Sub
    'UserForm1
    Private Sub CommandButton1_Click()

       'Chama a rotina para salvar como txt
       'Será salvo um novo arquivo txt com base na planilha seleciona na lista de opções
       Call ExecutarSalvarTXT(Sheets(lstPlanilhas.Text), ThisWorkbook.path)

       Unload Me   'Fecha o form

    End Sub

    Private Sub UserForm_Initialize()

       'Chama a rotina para preencher a lista das planilha disponíveis no arquivo
       Call PreencheLista

    End Sub

    Private Sub PreencheLista()
    Dim sht As Worksheet

       lstPlanilhas.Clear

       For Each sht In ThisWorkbook.Worksheets
           If sht.Name <> "Principal" Then 'Não exibe a planilha Principal
               lstPlanilhas.AddItem sht.Name
           End If



    Em um userform:



    Private Sub CommandButton1_Click()
       
       'Chama a rotina para salvar como txt
       'Será salvo um novo arquivo txt com base na planilha seleciona na lista de opções
       Call ExecutarSalvarTXT(Sheets(lstPlanilhas.Text), ThisWorkbook.path)
       
       Unload Me   'Fecha o form
       
    End Sub

    Private Sub lstPlanilhas_Change()

    End Sub

    Private Sub UserForm_Initialize()
       
       'Chama a rotina para preencher a lista das planilha disponíveis no arquivo
       Call PreencheLista
       
    End Sub

    Private Sub PreencheLista()
    Dim sht As Worksheet

       lstPlanilhas.Clear
       
       For Each sht In ThisWorkbook.Worksheets
           If sht.Name <> "Principal" Then 'Não exibe a planilha Principal
               lstPlanilhas.AddItem sht.Name
           End If
       Next sht
       
    End Sub

    Alguem pode me dar uma mão?
    obrigado.
    Anexos
    Relatorio Conferencia.txt
    Você não tem permissão para fazer download dos arquivos anexados.
    (1 Kb) Baixado 3 vez(es)

      Data/hora atual: Qua 07 Dez 2016, 18:19