Ir ao conteúdo

Patrick Roberto Almeida

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

0
  1. Pessoal, bom dia. Gostaria da ajuda de vocês para eu poder gerar um PDF de todas as abas do Excel em apenas um único arquivo. Eu consegui o código abaixo, porém ele gera o arquivo PDF aba por aba. Workbooks(1).Worksheets("Plan1").Activate Sheets("Plan1").ExportAsFixedFormat Type:=xlTypePDF _ , Filename:=Diretorio & Application.PathSeparator & "Plan1" _ , Quality:=xlQualityMinimum, OpenAfterPublish:=False Workbooks(1).Worksheets("Plan2").Activate Sheets("Plan2").ExportAsFixedFormat Type:=xlTypePDF _ , Filename:=Diretorio & Application.PathSeparator & "Plan2" _ , Quality:=xlQualityMinimum, OpenAfterPublish:=False Workbooks(1).Worksheets("Plan3").Activate Sheets("Plan3").ExportAsFixedFormat Type:=xlTypePDF _ , Filename:=Diretorio & Application.PathSeparator & "Plan3" _ , Quality:=xlQualityMinimum, OpenAfterPublish:=False Poderiam me ajudar. Abraço.
  2. Dessa forma que você sugeriu funciona!!! Mas eu precisava que o programa já criasse o txt com a flexibilidade de inserir o nome do arquivo. Agradeço pela ajuda.
  3. Gostei muito da dica. Ela funcionou, porém eu gostaria de criar o arquivo .txt pela macro, de forma que o usuário escolhesse o nome e depois o código imprimisse os dados nesse arquivo .txt criado. Porém gera um erro na função- Open ... (Erro - Permissão Negada). Eu consigo gerar o arquivo .txt vazio. A variável myFile salva o caminho do arquivo gerado. Porém a função Open, não aceita a variável myFile. Segue código: Sub Gerar_Arquivo_Txt_TESTE() Application.DisplayAlerts = False Dim Ordem(50) As Integer, IhP(50) As String, IhA(50) As Currency, OndeEstaAtual As String Dim myFile As String For i = 2 To 50 'Pegando valores da aba Teste Ordem(i) = Worksheets("Teste").Cells(i, 4).Value IhA(i) = Worksheets("Teste").Cells(i, 6).Value Worksheets("Teste").Cells(i, 6).NumberFormat = "#,##0.00" Next i Worksheets("PQF").Activate 'Estou ativando um sheet que não tem nenhum dado OndeEstaAtual = ThisWorkbook.Path Nome = ThisWorkbook.Name 'MODO DE SALVAR QUE ABRE CAIXA DE DIALOGO myFile = Application.GetSaveAsFilename(InitialFileName:=OndeEstaAtual, _ filefilter:="Text Files (*.txt),*txt", Title:="Arquivo Ih para PQF") If myFile = Falso Then Exit Sub End If ActiveWorkbook.SaveAs Filename:=myFile, FileFormat:=xlText, CreateBackup:=False 'Até aqui tudo certo. O programa gera o arquivo .txt vazio no endereço que eu defeni. Open myFile For Output As #1 'Erro: Permissão Negada For i = 2 To 50 'Plotando valores correntes harmônicas na aba PQF Print #1, Ordem(i) & "; " & IhA(i) & ";0" Next i Close #1 MsgBox "O arquivo foi gerado." End Sub
  4. Pessoal. Estou fazendo uma macro para gerar um arquivo txt para usa-lo em outros programa. Por enquanto está funcionando, porém ele está inserindo ASPAS sem eu programar isso. Então eu leio alguns dados no excel, formato eles do jeito necessário e salvo como arquivo txt.. Segue a Programação Sub Gerar_Arquivo_txt() Application.DisplayAlerts = False Dim Ordem(50) As Integer, IhP(50) As String, IhA(50) As Currency, OndeEstaAtual As String For i = 2 To 50 Ordem(i) = Worksheets("Entrada de Dados").Cells(i, 4).Value IhA(i) = Worksheets("Entrada de Dados").Cells(i, 6).Value Worksheets("Entrada de Dados").Cells(i, 6).NumberFormat = "#,##0.00" Next i Worksheets("txt").Activate For i = 2 To 50 Worksheets("txt").Cells(i - 1, 1).Value = Ordem(i) & "; " & IhA(i) & ";0" Next i OndeEstaAtual = ThisWorkbook.Path Nome = ThisWorkbook.Name 'MODO DE SALVAR QUE ABRE CAIXA DE DIALOGO myFile = Application.GetSaveAsFilename(InitialFileName:=OndeEstaAtual, _ filefilter:="Text Files (*.txt),*txt", Title:="Arquivo txt") If myFile = Falso Then Exit Sub End If ActiveWorkbook.SaveAs Filename:=myFile, FileFormat:=xlText, CreateBackup:=False Nome1 = ThisWorkbook.Name Workbooks.Open (OndeEstaAtual & "\" & Nome) Workbooks(Nome1).Close End Sub O programa acima está funcionando e gera o seguinte arquivo em txt no seguinte formato: 2; 0;0 3; 0;0 4; 0;0 "5; 17,962;0" 6; 0;0 "7; 12,2025;0" 8; 0;0 9; 0;0 10; 0;0 "11; 7,5167;0" 12; 0;0 "13; 4,1976;0" 14; 0;0 15; 0;0 16; 0;0 "17; 2,4405;0" 18; 0;0 "19; 1,8548;0" 20; 0;0 21; 0;0 22; 0;0 "23; 1,0738;0" 24; 0;0 "25; 1,0738;0" 26; 0;0 27; 0;0 28; 0;0 "29; 0,6833;0" 30; 0;0 "31; 0,5857;0" 32; 0;0 33; 0;0 34; 0;0 "35; 0,5857;0" 36; 0;0 "37; 0,4881;0" 38; 0;0 39; 0;0 40; 0;0 "41; 0,3905;0" 42; 0;0 "43; 0,2929;0" 44; 0;0 45; 0;0 46; 0;0 "47; 0,2929;0" 48; 0;0 "49; 0,2929;0" 50; 0;0 Observa-se que quando existe valores diferentes de zero, a macro inseri ASPAS. Porém, não posso ter essas ASPAS. Alguém poderia me ajudar para tentar eliminar isso via macro? Abraço.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...