Página 1 de 1

Salvar em Pdf e Não substituir arquivo se mesmo nome existir

Enviado: 10 Mai 2016 às 12:47
por jeanj
olá, com muitas pesquisas consegui criar uma planilha que tem um formulário que gera um arquivo pdf com o nome de acordo com o valor de uma celula e outras coisinhas, um dos problemas é que na hora de gerar o arquivo, se o arquivo ja existe com esse nome ele é substituido, gostaria que fosse possivel adicionar uma numeração tipo (2).pdf se o arquivo existir.
Código: Selecionar todos
Sub salvar()
'
' salvar Macro
'
Dim nome As String
nome = "C:\Users\Jean\Desktop\exames pdf\" & Range("E5") & " - " & Range("k7") & ".pdf"
'
    Sheets("Exame").Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nome, Quality:=xlQualityStandard _
        , IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True
    Sheets("PREENCHER").Select
    Range("E5:G5").Select
End Sub
o outro problema é que eu consegui fazer a maioria das coisas gravando macros, e como o formulário está em uma aba, e o modelo a ser preenchido está em outra, quando roda o macro a tela fica piscando porque para o codigo funcionar precisa ficar alternando entre as abas, gostaria de saber se é possível rodar a macro na aba 2 sem precisar de sair da aba onde está o formulário. 
Código: Selecionar todos
Sub ocultar()
'
' ocultar Macro
'

'
    Sheets("Exame").Select
    Range("A34:O42").Select
    Selection.EntireRow.Hidden = True
    Sheets("PREENCHER").Select
    Range("C25:C31").Select
    With Selection.Font
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -4.99893185216834E-02
    End With
    Range("F25,F27,F29,F31").Select
    Range("F31").Activate
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -4.99893185216834E-02
        .PatternTintAndShade = 0
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    ActiveSheet.Shapes.Range(Array("Rounded Rectangle 1")).Select
    Selection.ShapeRange.ZOrder msoBringToFront
    Range("E5:G5").Select
End Sub
fiquem À vontade para sugerir qualquer mudança, com muito esforço a planilha está ficando com um resultado bem legal. 
vou deixala em anexo. obrigado.
https://drive.google.com/file/d/0BynkAc ... sp=sharing
Preencher Hemograma.xlsm

Salvar em Pdf e Não substituir arquivo se mesmo nome existir

Enviado: 10 Mai 2016 às 16:22
por AndersonLeal
Olá,

Para evitar que a tela fique piscando durante a execução da macro, adicione a seguinte instrução no início do código:

Application.ScreenUpdating = False

e esta aqui no final:

Application.ScreenUpdating = True

Abraço!

Re: Salvar em Pdf e Não substituir arquivo se mesmo nome exi

Enviado: 10 Mai 2016 às 17:35
por Basole
Segue em o link da planilha com resolucao do 1º problema
Se o arquivo existir renomeia como ex Arquivo(1).pdf

http://goo.gl/pJr7NP



* Respondido qui tambem: http://goo.gl/lL3VQq

Salvar em Pdf e Não substituir arquivo se mesmo nome existir

Enviado: 10 Mai 2016 às 18:25
por AndersonLeal
Basole,

Tem como disponibilizar a planilha aqui no fórum mesmo?
Gostaria de saber como ficou a solução, vai que algum dia preciso fazer algo assim?

Obrigado.

Re: Salvar em Pdf e Não substituir arquivo se mesmo nome exi

Enviado: 10 Mai 2016 às 23:40
por Basole
Segue o arquivo conforme solicitado

Salvar em Pdf e Não substituir arquivo se mesmo nome existir

Enviado: 11 Mai 2016 às 00:56
por AndersonLeal
Obrigado! :D