MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

2 participantes

    [Resolvido]Exportar para Excel mantendo a formatação

    avatar
    zcarloslopes
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 382
    Registrado : 28/10/2010

    [Resolvido]Exportar para Excel mantendo a formatação Empty [Resolvido]Exportar para Excel mantendo a formatação

    Mensagem  zcarloslopes 25/1/2019, 16:17

    Boa tarde a todos!

    Mais uma vez preciso da vossa ajuda.

    Exporto os dados do access 2003 para excel com o seguinte código:

    Código:
    Private Sub Comando73_Click()
    On Error Resume Next

    Dim Diretorio As String

     Diretorio = Environ$("USERPROFILE") & "\Ambiente de trabalho\Dados_Exportados.xls"
        
     DoCmd.TransferSpreadsheet acExport, 8, "cst_Teste", Diretorio, False, "A1:H1"

    End Sub

    Sempre funciona direito.

    Atualmente tenho uma tabela com 3 colunas com formato de hora (hh:mm): Início, Fim e Duração (diferença).

    Quando exporto para excel, estas 3 colunas apresentam os dados "00-01-1900", e para aparecerem corretamente tem sempre que se formatar as colunas após exportar.

    O que pretendo é formatar as colunas após exportar via código, algo do tipo:

    Código:
    Dim mysheet As Object
      
        Set objExcel = CreateObject("Excel.Application")
        Set mysheet = excelobj.Workbooks.Open(Path)
            With mysheet
                .Activate
                .Sheets(1).Select
                .Sheets(1).Columns("B:B").NumberFormat = "hh:mm"
                .Save
            End With

    Alguma ideia?

    Obrigado


    Última edição por Alexandre Neves em 28/1/2019, 19:13, editado 2 vez(es) (Motivo da edição : Título alterado: de 'Exportar para Excel mantendo a formatção' para 'Exportar para Excel mantendo a formatação')
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8002
    Registrado : 05/11/2009

    [Resolvido]Exportar para Excel mantendo a formatação Empty Re: [Resolvido]Exportar para Excel mantendo a formatação

    Mensagem  Alexandre Neves 26/1/2019, 15:08

    Boa tarde.

    Nomeie de forma normalizada (CmdExportaParaExcel em vez de Comando73)
    Integre os 2 códigos

    Private Sub Comando73_Click()
    On Error Resume Next

    Dim Diretorio As String
    Dim mysheet As Object


    Diretorio = Environ$("USERPROFILE") & "\Ambiente de trabalho\Dados_Exportados.xls"
        
     DoCmd.TransferSpreadsheet acExport, 8, "cst_Teste", Diretorio, False, "A1:H1"
      
        Set objExcel = CreateObject("Excel.Application")
        Set mysheet = excelobj.Workbooks.Open(Diretorio)
            With mysheet
                .Activate
                .Sheets(1).Select
                .Sheets(1).Columns("B:B").NumberFormat = "hh:mm"
                .Save
            End With
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    zcarloslopes
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 382
    Registrado : 28/10/2010

    [Resolvido]Exportar para Excel mantendo a formatação Empty Re: [Resolvido]Exportar para Excel mantendo a formatação

    Mensagem  zcarloslopes 28/1/2019, 08:40

    Bom dia!

    Obrigado pela dica Alexandre.

    Com uma pequena adaptação já funciona.

    Fica aqui o código final para quem precisar algo parecido.

    Código:
    Private Sub Comando73_Click()
    On Error Resume Next

    Dim Diretorio As String
    Dim mysheet As Object

    Diretorio = Environ$("USERPROFILE") & "\Ambiente de trabalho\Dados_Exportados.xls"
        
    DoCmd.TransferSpreadsheet acExport, 8, "cst_Teste", Diretorio, False, "A1:H1"
       
        Set objExcel = CreateObject("Excel.Application")
        Set mysheet = objExcel.Workbooks.Open(Diretorio)
            With mysheet
                .Activate
                .Sheets(1).Select
                .Sheets(1).Columns("B:B").NumberFormat = "hh:mm"
                .Sheets(1).Columns("I:I").NumberFormat = "hh:mm"
                .Sheets(1).Columns("J:J").NumberFormat = "hh:mm"
                .Save
            End With
        objExcel.Quit
        Set mysheet = Nothing
        Set objExcel = Nothing
        End Sub

    Obrigado

      Data/hora atual: 1/8/2021, 12:09