Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 26
  1. #11
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    ....dunque...

    Dal momento che inserisci dei dati nel foglio, in teoria prima di chiudere tutta la faccenda dovresti anche salvare (dovrebbe esserci il metodo Save o SaveAs nell'oggetto WorkSheet che corrisponde alla tua variabile oggetto ExcelSheet)
    Forse, non salvando, rimane qualche riferimento in memoria.

    Il metodo Cells e' supportato da entrambe gli insiemi:
    secondo me dovresti utilizzare quello del WorkSheet (anche perche' e' con questo che identifichi su quale foglio andrai a scrivere, non ricordo qual'e' il metodo per attivare il foglio di lavoro da usare), utilizzando quello dell' AppExcel scrivi su quello che viene aperto di default (o l'unico che c'e' o l'ultimo che era aperto al momento dell'ultimo lancio di Excel).
    ...and I miss you...like the deserts miss the rain...

  2. #12
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    stasera provo

    grazie

  3. #13
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    no il metodo quit chiude proprio il foglio excel non la variabile di tipo excel

    ho fatto un giro dentro l'elp di excel ->esempi tanti ma per vba non per vb6

  4. #14
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Ok, ma hai provato a salvare il foglio che hai modificato con SaveAS e poi chiudere con Quit?

    Se ti posizioni sul metodo che ti interessa dell'oggetto e poi premi F1 (in VB ovviamente), che help ti apre? (io ho provato con il mio e l'help sembra quello di VB, magari esteso con quello di office...)
    ...and I miss you...like the deserts miss the rain...

  5. #15
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    no l'help è completamente diverso

    io ho l'msdn in vb
    in access appare il cane che parla e mi lascia le pulci sullo schermo.
    no è diverso

    se vuoi ti passo tutta la sub...
    non so che dire
    ho provato anche nei gruppi di google

  6. #16
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Se non e' troppo grande postala.
    Qualcuno magari ha un lampo di genio....
    ...and I miss you...like the deserts miss the rain...

  7. #17
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    no non è grande...poi l'ho impostata bene

    Private Sub Trasferisci()

    Dim ExcelSheet As excel.Worksheet
    Dim AppExcel As New excel.Application

    AppExcel.Visible = True
    Set cart = excel.Workbooks.Open(App.Path & "\prova.xls")

    'ExcelSheet.SaveAs "c:\prova.xls"

    'ExcelSheet.Range(ExcelSheet.Cells(2, 1), ExcelSheet.Cells(5, 3)).Select

    If rs.State = 1 Then
    rs.Close
    End If


    rs.Open StrSql, conn

    AppExcel.Cells(1, 1) = "Data"
    AppExcel.Cells(1, 2) = "Soggetto"
    AppExcel.Cells(1, 3) = "Causale"
    AppExcel.Cells(1, 4) = "Specifico Causale"
    AppExcel.Cells(1, 5) = "Mezzo Pagamento"
    AppExcel.Cells(1, 6) = "Oggetto"
    AppExcel.Cells(1, 7) = "Valuta"
    AppExcel.Cells(1, 8) = "Importo"


    Dim i
    Dim riga

    i = 1 'iniizo dall seconda riga il primo è il titolo
    riga = 3

    Do While rs.EOF = False
    'For riga = 1 To 2
    i = 1
    AppExcel.Cells(riga, i) = CStr(rs("Data"))
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Soggetto")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Causale")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("speccausale")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("mezzo_pagamento")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Oggetto")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Valuta")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Importo")


    'colonna
    '

    'Next riga
    riga = riga + 1
    rs.MoveNext
    i = i + 1
    ' i
    Loop



    ' rs.Close

    AppExcel.Quit
    Set ExcelSheet = Nothing
    Set AppExcel = Nothing

    End Sub

  8. #18
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    codice:
    Private Sub Trasferisci() 
       Dim AppExcel As New excel.Application 
       AppExcel.Visible = True 
       AppExcel.Workbooks.Open(App.Path & "\prova.xls") 
       If rs.State = 1 Then rs.Close 
       rs.Open StrSql, conn 
       With AppExcel
          .Cells(1, 1) = "Data" 
          .Cells(1, 2) = "Soggetto" 
          .Cells(1, 3) = "Causale" 
          .Cells(1, 4) = "Specifico Causale" 
          .Cells(1, 5) = "Mezzo Pagamento" 
          .Cells(1, 6) = "Oggetto" 
          .Cells(1, 7) = "Valuta" 
          .Cells(1, 8) = "Importo" 
       ...
       'qui metti tutto il codice del ciclo che non ho
       capito perchè l'hai scritto un po incasinato secondo me :)
       ...
          .Quit  
       End With
       Set AppExcel = Nothing 
    End Sub

  9. #19
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    se mi dici il tracciato record del recordset e mi spieghi il layout che devi ottenere in excel magari ti posto tutta la sub

  10. #20
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387

    Re: no non è grande...poi l'ho impostata bene

    Originariamente inviato da amodio
    Private Sub Trasferisci()

    Dim ExcelSheet As excel.Worksheet
    Dim AppExcel As New excel.Application

    AppExcel.Visible = True
    Set cart = excel.Workbooks.Open(App.Path & "\prova.xls")

    'ExcelSheet.SaveAs "c:\prova.xls"

    'ExcelSheet.Range(ExcelSheet.Cells(2, 1), ExcelSheet.Cells(5, 3)).Select

    If rs.State = 1 Then
    rs.Close
    End If


    rs.Open StrSql, conn

    AppExcel.Cells(1, 1) = "Data"
    AppExcel.Cells(1, 2) = "Soggetto"
    AppExcel.Cells(1, 3) = "Causale"
    AppExcel.Cells(1, 4) = "Specifico Causale"
    AppExcel.Cells(1, 5) = "Mezzo Pagamento"
    AppExcel.Cells(1, 6) = "Oggetto"
    AppExcel.Cells(1, 7) = "Valuta"
    AppExcel.Cells(1, 8) = "Importo"


    Dim i
    Dim riga

    i = 1 'iniizo dall seconda riga il primo è il titolo
    riga = 3

    Do While rs.EOF = False
    'For riga = 1 To 2
    i = 1
    AppExcel.Cells(riga, i) = CStr(rs("Data"))
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Soggetto")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Causale")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("speccausale")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("mezzo_pagamento")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Oggetto")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Valuta")
    i = i + 1
    AppExcel.Cells(riga, i) = rs("Importo")


    'colonna
    '

    'Next riga
    riga = riga + 1
    rs.MoveNext
    i = i + 1
    ' i
    Loop



    ' rs.Close
    ExcelSheet.SaveAs("C:\prova2.xls")
    AppExcel.Quit
    Set ExcelSheet = Nothing
    Set AppExcel = Nothing

    End Sub
    Prova ad aggiungere la riga in rosso.
    ..certo che con 3 menti come le nostre al lavoro su questo problema, e' praticamente impossibile che il problema resti insoluto

    ...and I miss you...like the deserts miss the rain...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.