USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Excel no VB
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 15/06/2007 11:16 hs            
Pode parecer idiotice, e é óbvio que deve ser, mas eu estou  pelo VB abrindo várias planilhas excel altero o conteúdos das células o que está faltando é conseguir fechar as planilhas e salvar as alterações o que estou utilizando é:
Private Sub Command1_Click()
    Dim Dt As Date
    Dim Dt1 As Date
    Dim arq1 As String
    Dim Excel As Object
    Set Excel = CreateObject("Excel.Application.8")
    If DtIni.Text = "__/____" Then
        Dt = Date - Day(Date)
        Dt = Dt + 1
    Else
        Dt = CDate("01/" & DtIni.Text)
    End If
    Dt1 = Dt + 32
    Dt1 = Dt1 - Day(Dt1)
    Dim rs_temp As Recordset
    Set rs_temp = Base_Relato.OpenRecordset("Conteudo")
    rs_temp.MoveMin
    On Error GoTo criar_arquivo
    Do While Not rs_temp.EOF
        arq1 = "X:MdbsPontuacao" & rs_temp("Texto1") & ".xls"
        FileCopy arq1, "X:MdbsPontuacao     este.xls"
        rs_temp.MoveNext
    Loop
    Kill "X:MdbsPontuacao     este.xls"
    Base_Relato.Execute "INSERT INTO Conteudo1 ( Valor1, Valor2 ) " & _
                        "SELECT Pedidos.Cod_Repres, Sum(Pedidos.Tot_Pedido) AS SomaDeTot_Pedido " & _
                        "FROM [" & Base_Pedido_P.Name & "].Pedidos INNER JOIN [" & Base_Pedido_P.Name & "].Tipo_Pedido ON Pedidos.Tipo_Pedido = Tipo_Pedido.Cod_Tipo " & _
                        "WHERE (((Tipo_Pedido.Acumula_Vendas)=True) AND ((Pedidos.Emissao_NF) Between " & G_Sqldata((Dt)) & " And " & G_Sqldata((Dt1)) & ")) " & _
                        "GROUP BY Pedidos.Cod_Repres;"
    Base_Relato.Execute "UPDATE Conteudo INNER JOIN Conteudo1 ON Conteudo.Valor1 = Conteudo1.Valor1 SET Conteudo.Valor2 = [Conteudo1]![Valor2];"
    Base_Relato.Execute "DELETE Conteudo1.* FROM Conteudo1;"
    Base_Relato.Execute "INSERT INTO Conteudo1 ( Valor1, Valor2 ) " & _
                        "SELECT Pedidos.Cod_Repres, Sum(Pedidos.Tot_Pedido) AS SomaDeTot_Pedido " & _
                        "FROM [" & Base_Pedido_P.Name & "].Pedidos INNER JOIN [" & Base_Pedido_P.Name & "].Tipo_Pedido ON Pedidos.Tipo_Pedido = Tipo_Pedido.Cod_Tipo " & _
                        "WHERE (((Tipo_Pedido.Baixa_Venda)=True) AND ((Pedidos.Emissao_NF) Between " & G_Sqldata((Dt)) & " And " & G_Sqldata((Dt1)) & ")) " & _
                        "GROUP BY Pedidos.Cod_Repres;"
    Base_Relato.Execute "UPDATE Conteudo INNER JOIN Conteudo1 ON Conteudo.Valor1 = Conteudo1.Valor1 SET Conteudo.Valor2 = [Conteudo]![Valor2]-[Conteudo1]![Valor2];"
    Set rs_temp = Base_Relato.OpenRecordset("Conteudo")
    rs_temp.MoveMin
    On Error Resume Next
    Do While Not rs_temp.EOF
        Set Excel = CreateObject("Excel.Application.8")
        With Excel
            .Workbooks.Open FileName:="X:MdbsPontuacao" & rs_temp("Texto1") & ".xls"
            .Sheets("Vendas Mensais").Select
            Select Case Month(Dt)
                Case 1
                    .Range("C4").Select
                Case 2
                    .Range("E4").Select
                Case 3
                    .Range("G4").Select
                Case 4
                    .Range("I4").Select
                Case 5
                    .Range("K4").Select
                Case 6
                    .Range("M4").Select
                Case 7
                    .Range("O4").Select
                Case 8
                    .Range("Q4").Select
                Case 9
                    .Range("S4").Select
                Case 10
                    .Range("U4").Select
                Case 11
                    .Range("W4").Select
                Case 12
                    .Range("Y4").Select
            End Select
            .activecell.Value = rs_temp("Valor2")
           
        End With
        Set Excel = Nothing
        rs_temp.MoveNext
    Loop
   
    Exit Sub
criar_arquivo:
    FileCopy "X:MdbsPontuacaosimulador_campanha.xls", arq1
    Resume Next
End Sub

dsmn
   
JOM
BOM JESUS DA LAPA
BA - BRASIL
ENUNCIADA !
Postada em 21/06/2007 23:44 hs            
Porque vc não abre a planilha utilizando o objeto OLE ? através do OLE vc abre a planilha excel e com apenas um simples comando vc salva as alterações. Me passa teu e-mail que envio um exemplo simples e prático.
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página