Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por RobinLima
#28204
Olá caros colegas, não entendo nada de VBA e estou precisando de uma grande ajuda.
Eu tenho um relatório em tabela dinâmica e foi colocado nela um código VBA que filtra o nome dos vendedores e gera um PDF para cada um deles e salva em meus documentos.
Gostaria de saber como faço para salvar em outro local, exemplo "C:\Users\robinson\Desktop\CAMPANHA 2017".
Outra coisa, é possível enviar esses PDFs para seus respectivos, com PARA, CC, ASSUNTO e frase padrão?

Agradeço desde já!

Segue o código que utilizo.

Código: Selecionar todos
Sub Gerar_PDF()


Application.ScreenUpdating = False

Dim tdc(500) As Variant

ActiveSheet.PivotTables("Tabela dinâmica1").ClearAllFilters

With ActiveSheet.PivotTables("Tabela dinâmica1")
c = .PivotFields("Ult. Vendedor2").PivotItems.Count
 For i = 1 To .PivotFields("Ult. Vendedor2").PivotItems.Count
 
 tdc(r) = .PivotFields("Ult. Vendedor2").PivotItems(i).Name
 r = r + 1
 
 Next
 
End With

   ' CNPJ RAZÃO -------------------------------------------------------------------
   
With ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("Ult. Vendedor")
        .PivotItems("").Visible = False
        
    End With


i = 0
For i = 0 To c - 1

ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("Ult. Vendedor2"). _
    CurrentPage = "(All)"
ActiveSheet.PivotTables("Tabela dinâmica1").PivotFields("Ult. Vendedor2"). _
        CurrentPage = tdc(i)

s = Range("b2").Value + " - CLIENTES INATIVOS"
sSpecialChars = "\/:*?®<>|&@#`©~^$!,'"
    For ii = 1 To Len(sSpecialChars)
        s = Replace(s, Mid$(sSpecialChars, ii, 1), "")
    Next


    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        s, Quality:=xlQualityMinimum, IgnorePrintAreas:=True, OpenAfterPublish:=False
        
Next i

        
            
     ' FIM -------------------------------------------------------------------
        
        

    
ActiveSheet.PivotTables("Tabela dinâmica1").ClearAllFilters

Application.ScreenUpdating = True

        
End Sub
#28207
Boa tarde!!

Tente adaptar a variável que é recebida pelo parâmetro Filename:=.
Tipo...
Código: Selecionar todos
 Filename:="C:\Users\robinson\Desktop\CAMPANHA 2017\" & ...etc
Veja também:
https://msdn.microsoft.com/pt-br/vba/ex ... thod-excel
http://exceler.blogspot.com.br/2005/04/ ... aveas.html

Att
Por RobinLima
#28210
Fiz o que você disse e ficou ótimo, salvou no local que especifiquei, obrigado :D

Agora gostaria de saber se é muito complicado para anexar esses arquivos por e-mail para enviar, para cada um dos vendedores, com copia, assunto e texto padrão.
#28330
Bom dia!!

Eu sempre consulto (na minha opinião), um dos melhores MVP's do planeta de nome rondebruin,que deixa bem explicado e documentado alguns truques em VBA
Se ler com calma, vai entender, pois é bem explicativo.
https://www.rondebruin.nl/win/s1/outlook/mail.htm
https://www.rondebruin.nl/win/s1/outlook/saveatt.htm
Eu já adaptei demasiadas vezes sem problemas.
Faça sua parte tente adaptar, caso não conseguir, vamos te ajudar!!!!

Att
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord