Jump to content

Criação e Exportação de ficheiros


jtiagodias
 Share

Recommended Posts

Ora viva.

Pretendo criar um ficheiro, em Excel, que servirá de plataforma de trabalho. Esse ficheiro ficará com cerca de 1 ou 2 mb mas o objectivo era criar um ficheiro só com os dados importantes.

Na prática será criar um botão para exportação em que o excel cria outro ficheiro apenas com os dados pretendidos originando assim um ficheiro com alguns kB.

A questão é:

- Neste momento iso está a funcionar mas com rotinas que criam um novo ficheiro excel, novas folhas de cálculo, copiam os valores e colam-nos no sitio pretendido...

Acontece que toda essa operação acaba por demorar alguns minutos o que se torna bastante chato.

Pretende-se també que exista a oporação contrária e aí sim o tempo de espera é bastante...

Por isso a pergnta é. Qual a melhor forma de exportar ou importar dados apra novos ficheiros...

Alguém consegue dar umas dicas para iniciar uma pesquisa e começar a estudar o assunto???

Desde já obrigado.

Link to comment
Share on other sites

É assim isso torna-se um pouco subjectivo sem estar a ver todo o código. No entanto podes usar algumas técnicas para maximizar a performance. Tais como:

Application.ScreenUpdating = False
application.Calculation=xlCalculationManual 

Isto vai evitar que o excel ande a calcular constantemente cada vez que passas valores e evita também mostrar o que está a fazer.

Não te esqueças depois no final do processamento de meteres True e xlCalculationAutomatic.

Outra solução pode passar por criares uma cópia do ficheiro e apagares só que não queres:

Private Sub CriarBackup()
    Dim ficheiros() As Ficheiro
    Dim file As Variant
    
    Windows(fichSem.nome).Activate
    
    ficheiros = CriarVectorFicheiros 'Cria ficheiros a serem copiados
    Call CreateFolder 'Cria o directorio de backup se necessário
    For Each file In ficheiros
        Dim fso
        Dim sfol As String, dfol As String
        'file = ficheiros(i).nome  ' change to match the file name
        sfol = file.endereco  ' change to match the source folder path
        dfol = ActiveWorkbook.Path + "\backup\" ' change to match the destination folder path
        Set fso = CreateObject("Scripting.FileSystemObject")
        If Not fso.FileExists(sfol) Then
            MsgBox sfol & " does not exist!", vbExclamation, "Source File Missing"
        Else
            fso.CopyFile sfol, dfol, True
        End If
    Next
End Sub

Private Sub CreateFolder()
    Dim fso
    Dim fol As String
    fol = ActiveWorkbook.Path + "\backup\" ' change to match the folder path
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FolderExists(fol) Then
        fso.CreateFolder (fol)
    End If
End Sub

Isto foi foi directamente copiado de um código que tinha, mas acho que dá para entender.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.