Vídeo recomendado
https://youtu.be/diWPPPhW-9E

MODIFICAR VBA DE UM OUTRO ARQUIVO XLS

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Baldocchi
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Ago 09, 2017 8:38 am

MODIFICAR VBA DE UM OUTRO ARQUIVO XLS

Mensagem por Baldocchi »

Bom dia a todos, sou novato em VBA/Excel e preciso de ajuda com uma coisa.

Eu preciso renomear mais 5000 arquivos XLS para XLSM.
A rotina de renomear arquivos eu consegui fazer.

O problema está no fato de os arquivos que serão renomeados terem um botão chamado ENCERRAR. O código que está nesses arquivos força o usuário a clicar no botão ENCERRAR para fechar o Excel.

Dessa forma, eu não consigo fazer um código para abrir os arquivos, renomeá-los e fechá-los automaticamente.

Eu faço isso para reduzir o tamanho dos arquivos.

Abaixo segue o código que estou usando. Obrigado desde já a todos que puderem ajudar.

___________________________________________
Sub Salvar_Como()

Dim FSO As Object
Dim Pasta_Origem, Pasta_Destino As String
Dim Planilha As Object
Dim OpenBook As String

Set FSO = CreateObject("Scripting.FileSystemObject")
Pasta_Origem = "C:\ptrf_SME\2015\01_repasse\teste" 'Pasta com as planilhas que serão abertas e copiadas

Pasta_Destino = "C:\ptrf_SME\2015\01_repasse\teste\novos" 'Pasta onde as planilhas serão salvas


Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

For Each Planilha In FSO.GetFolder(Pasta_Origem).Files

If InStr(1, Planilha, ".xls") = 0 Then GoTo PRÓXIMO

Workbooks.Open (Planilha)
OpenBook = ActiveWorkbook.Name

ActiveWorkbook.SaveAs Pasta_Destino & "\" & _
Left(ActiveWorkbook.Name, WorksheetFunction.Search(".", ActiveWorkbook.Name, 1) - 1) & ".xlsm", 52

Workbooks(ActiveWorkbook.Name).Close

PRÓXIMO:
Next

Application.ScreenUpdating = True

MsgBox "Dados Copiados com Sucesso!", vbInformation, "Aviso"

Application.Calculation = xlCalculationAutomatic

End Sub


_________________________________
Sub FechaTudo()

Dim iWB As Workbook

For Each iWB In Workbooks
iWB.Close SaveChanges:=False
Next iWB

End Sub

_________________________________
Private Sub CommandButton1_Click()
Salvar_Como

End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Baldocchi
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Ago 09, 2017 8:38 am

Re: MODIFICAR VBA DE UM OUTRO ARQUIVO XLS

Mensagem por Baldocchi »

EU CONSEGUI RESOLVER


COLOQUEI ESTA LINHA: ActiveWorkbook.Application.EnableEvents = False


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: MODIFICAR VBA DE UM OUTRO ARQUIVO XLS

Mensagem por webmaster »

8-) 8-) 8-) 8-) 8-) 8-)


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder