Ir ao conteúdo
  • Cadastre-se

Outro Codigo VBA para alterar extensão


Posts recomendados

@Basole não consegui entender o exemplo que meu deu.

muito complexo para meus conhecimentos rsrs.

o mais proximo que cheguei do que eu preciso foi isso.

 

  Dim NomPastTrab As String

NomPastTrab = VBA.Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1))

 ActiveSheet.ExportAsFixedFormat Type:=xlsx, Filename:= _
        ThisWorkbook.Path & "\" & NomPastTrab _

 

Mas esta criando em PDF e não xlsx igual eu preciso.

Link para o comentário
Compartilhar em outros sites

Veja se e isso: 

 

Sub Copy_ActiveSheet_1()
'Working in Excel 97-2016
    Dim FileExtStr As String
    Dim FileFormatNum As Long
    Dim Sourcewb As Workbook
    Dim Destwb As Workbook
    Dim TempFilePath As String
    Dim TempFileName As String

    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    Set Sourcewb = ActiveWorkbook

    'Copy the sheet to a new workbook
    ActiveSheet.Copy
    Set Destwb = ActiveWorkbook
    
                        FileExtStr = ".xlsx": FileFormatNum = 51
    
    'Save the new workbook and close it
    TempFilePath = ThisWorkbook.Path & "\"
    TempFileName = VBA.Left(ThisWorkbook.Name, (VBA.InStrRev(ThisWorkbook.Name, ".", -1, VBA.vbTextCompare) - 1))

    With Destwb
        .SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
        .Close SaveChanges:=False
    End With

    MsgBox "You can find the new file in " & TempFilePath

    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
End Sub

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Basole Exatamente isso.

 

rodou perfeito.

Muito obrigado pela ajudar.

 

adicionado 31 minutos depois

@Basole é possivel após executar a macro manter somente o arquivo xlsx e deleter o arquivo xlsm.

 

Sub DeleteActiveWorkbook() Dim xFullName As String xFullName = Application.ActiveWorkbook.FullName ActiveWorkbook.Saved = True Application.ActiveWorkbook.ChangeFileAccess xlReadOnly Kill xFullName Application.ActiveWorkbook.Close False End Sub

 

seria assim?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...