+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

esportare dati in [Excel]

  1. #1
    L'avatar di francof
    francof non  in linea Scolaretto
    ciao a tutti,

    ho un problema relativo alla esportazione dei dati presenti in una grid in excel, premetto che, purtroppo non ho molte info a disposizione ma, dopo una settimana di prove sono al punto di partenza.

    la mia appicazione installata indipendentemente su 2 pc (non una app. in rete anche se i pc, a volte, sono connessi ad una rete locale. questo tanto x chiarire lo scenario)
    le macchine in questione sono:
    - pc desktop con:
    s.o. Win XP
    office enterprise 2007

    - pc portatile con:
    s.o. Win XP
    office enterprise 2007

    sino a qualche giorno fa non vi erano problemi di sorta, l'esportazione in una cartella di excel avveniva correttamente su tutt' e 2 la macchine. ora pul pc desktop non si riesce pi a creare la cartella in questione.

    questo il codice:
     Private Sub cmdXls_Click()
    
    '   //www.Planet-Source-Code.com/xq/ASP/txtCodeId.47408/lngWId.1/qx/vb/scripts/ShowCode.htm
    'This is the function to print from the
        '     Grid to Excel
    
    Dim Msg As String, Dal As String, Al As String
    Dim i As Long, j As Long
    
    On Error GoTo err
    
    Msg = MsgBox("Salvare i dati estratti in formato Excel? ", vbQuestion + vbYesNo + vbDefaultButton1, " ESA Points ")
            
    If Msg = vbNo Then Exit Sub
    
    
    Dim xlApp As Object
    Dim xlWb As Object
    Dim xlWs As Object
    
        ' Crea un'istanza di Excel a aggiunge un workbook
    Set xlApp = CreateObject("Excel.Application")
    Set xlWb = xlApp.Workbooks.Add
    
    Dal = Format(TxData(0), "dd-mm-yy")
    Al = Format(TxData(1), "dd-mm-yy")
    
    xlWb.SaveAs "C:\Documents and Settings\All Users\Documenti\" & txtEPrags & ".xls"
    
    Set xlWs = xlWb.Worksheets("foglio1")
    
    cmdStampaStat.Enabled = False
    cmdXls.Enabled = False
    cmdChiudiStat.Enabled = False
    FraAttendi.Visible = True
    Timer1.Enabled = True
    
        With MSHFlexGridStat
            For i = 0 To .Rows - 1
                For j = 0 To .Cols - 1
                    xlWs.Cells(i + 1, (j + 1)) = .TextMatrix(i, j)
                    'xlWs.Cells(i + 1, (j + 1)).Borders.LineStyle = xlDouble
                    xlWs.Cells(i + 1, (j + 1)).Borders.Color = vbBlue
                    DoEvents
                Next j
            Next i
            xlWs.Range("A1:" & Chr(65 + (j + 1)) & 1).Font.Bold = True
            xlWs.Columns("$A:" & "$" & Chr(65 + (j + 1))).AutoFit
        End With
    
    xlApp.Visible = True
    
    FraAttendi.Visible = False
    Timer1.Enabled = False
    cmdStampaStat.Enabled = True
    cmdXls.Enabled = True
    cmdChiudiStat.Enabled = True
        
        ' chiude i riferimenti di Excel
    Set xlWs = Nothing
    Set xlWb = Nothing
    Set xlApp = Nothing
    
    err:
    If err.Number = 1004 Then       'in risposta NO a msg sostituire file xls
        Exit Sub
    End If
    
    End Sub
    
    sul portatile il progr. in esecuzione:
    1 - chiede la conferma x la creazione dei dati in formato excel
    2 - visualizza il foglio xls mentre lo crea
    3 - il foglio rimane visualizzato sul monitor
    4 - chiudendo il foglio (excel) chiede se la cartella creata deve essere salvata
    dopo di che disponibile con il nome ed alla path indicata nel codice

    sul desktop:
    1 - chiede la conferma x la creazione dei dati in formato excel
    2 - NON visualizza il foglio xls (l'elaborazione dura pochissimi istanti, come se non elaborasse
    nessuna riga della grid)
    3 - NON visualizza nulla (se non il form attivo del prog)
    4 - NON evidenzia nessun tipo d'errore (ne x excel tanto meno x la mia applic.)

    chiuso il programma aprendo un qualunque file .xls compare nella barra delle applicazioni
    anche la cartella creata (il nome della quale corrisponde) dal mio progr. ma completamente vuota.

    sul pc in questione non c' VB x cui non posso vedere in debug che succede e comunque non a portata di mano.

    tutto qui, stato provato:
    riavviare il pc
    disinstallare e reinstallare il prog
    disinstallare e reinstallare office
    disinstallare e reinstallare il prog dopo aver reinstallato office

    ho provato il programma su 4 diversi pc:
    2 xp pro, 1 xp home, 1 win2000 ed, ovviamente, funziona senza problemi

    some ideas?

    franco

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da francof Visualizza il messaggio
    ciao a tutti,

    ......

    sul portatile il progr. in esecuzione:
    1 - chiede la conferma x la creazione dei dati in formato excel
    2 - visualizza il foglio xls mentre lo crea
    3 - il foglio rimane visualizzato sul monitor
    4 - chiudendo il foglio (excel) chiede se la cartella creata deve essere salvata
    dopo di che disponibile con il nome ed alla path indicata nel codice

    sul desktop:
    1 - chiede la conferma x la creazione dei dati in formato excel
    2 - NON visualizza il foglio xls (l'elaborazione dura pochissimi istanti, come se non elaborasse
    nessuna riga della grid)
    3 - NON visualizza nulla (se non il form attivo del prog)
    4 - NON evidenzia nessun tipo d'errore (ne x excel tanto meno x la mia applic.)

    chiuso il programma aprendo un qualunque file .xls compare nella barra delle applicazioni
    anche la cartella creata (il nome della quale corrisponde) dal mio progr. ma completamente vuota.

    sul pc in questione non c' VB x cui non posso vedere in debug che succede e comunque non a portata di mano.

    tutto qui, stato provato:
    riavviare il pc
    disinstallare e reinstallare il prog
    disinstallare e reinstallare office
    disinstallare e reinstallare il prog dopo aver reinstallato office

    ho provato il programma su 4 diversi pc:
    2 xp pro, 1 xp home, 1 win2000 ed, ovviamente, funziona senza problemi

    some ideas?

    franco
    Scusa Franco ma il Debug lo hai fatto o ti sei limitato a scrivere che non funziona...?
    Hai fatto uno Step-By-Step con un break-Point e poi F5 verificando riga per riga che tutti gli oggetti e le variabili vengano correttamente valorizzati..., magari mettendo dei Debug.Print... ???

    Non capisco perch questi tests non vengo fatti in AUTONOMIA, credo sia una delle prime cose che un programmatore debba imparare a fare... per capire le cause dei malfunzionamenti...!!!!

    Oltretutto mi pare che la gestione error chei hai fatto sia decisamente non adeguata...?
    Cos come scritta prevede solo l'errore 1004 e nel caso ne venga generato un'altro, come ti sta accadendo ora, come puoi discriminarlo...?

    Mi pare manchino pezzi importanti nelle considerazioni ma vedi se con questi consigli riesci a risolvere da solo, certo dovrai fare un p di sacrificio ma ti assicuro che a fin di bene.

    Il Debug delle applicazioni, che viene sottovalutato nel 90% dei casi da chi non ha un backgound di programmazione adeguato, richiede spesso pi tempo dello sviluppo.
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    L'avatar di francof
    francof non  in linea Scolaretto
    Alex grazie per la risposta,

    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Scusa Franco ma il Debug lo hai fatto o ti sei limitato a scrivere che non funziona...?
    Hai fatto uno Step-By-Step con un break-Point e poi F5 verificando riga per riga che tutti gli oggetti e le variabili vengano correttamente valorizzati..., magari mettendo dei Debug.Print... ???
    per abitudine prima di rompere le scatole nel forum cerco di cavarmela da solo, a volte spendendo tempo e acquisendo frustazione. in pochi casi con soddisfazione enorme per essere riuscito a superare un ostacolo
    in questo caso, purtroppo o per fortuna, l'applicazione da il problema solo su di un pc, sul quale, per altro, pochi giorni addietro funzionava perfettamente. in pi questa macchina si trova in Sardegna, ed io no. non vi installato VB e quindi non saprei come poter eseguire il debug avendo solo la versione compilata.
    stesso file d'installazione installato su altri pc funziona senza problemi. per questo pensavo che il problema non dipendesse dal programma.
    sul mio pc, nell'ide, si dice cos? di VB il debug (punto d'interruzione, F8 x eseguire riga x riga il codice) non evidenzia errori di sorta e la cartella excel viene creata normalmente con i dati richiesti.


    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Non capisco perch questi tests non vengo fatti in AUTONOMIA, credo sia una delle prime cose che un programmatore debba imparare a fare... per capire le cause dei malfunzionamenti...!!!!
    scusami ma questo passo non mi molto chiaro


    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Oltretutto mi pare che la gestione error chei hai fatto sia decisamente non adeguata...?
    Cos come scritta prevede solo l'errore 1004 e nel caso ne venga generato un'altro, come ti sta accadendo ora, come puoi discriminarlo...?
    questa un'idea: potrei eliminare la gestione dell'errore e, dopo aver ricompliato il progr. testarlo sul pc incriminato e vedere se salta fuori qualche cosa.


    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Il Debug delle applicazioni, che viene sottovalutato nel 90% dei casi da chi non ha un backgound di programmazione adeguato, richiede spesso pi tempo dello sviluppo.
    ti assicuro che senza Debug non sarei venuto a capo di nulla in 1000 casi. magari l'avessi avuto ai tempi dell RPG II.

    ci sentiamo, spero e grazie ancora x il tuo tempo.
    franco

  4. #4
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Visto che un file eseguibile di cui non puoi andare in Debug... credo ti convenga ricompilarlo con la possibilit di scrivere un LOG con tutto quello che vorresti leggere di utile, farlo girare e leggerti il LOG come faresti con il DEBUG.

    Non avrei altra soluzione da proporti...
    ℹ️ Leggi di pi su @Alex ...

  5. #5
    L'avatar di Cteniza
    Cteniza non  in linea Amanuense
    Molto umilmente ti posso consigliare di adottare un'altra strada?
    Come creare un foglio Excel senza avere Excel installato
    ℹ️ Leggi di pi su Cteniza ...

  6. #6
    L'avatar di francof
    francof non  in linea Scolaretto
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Visto che un file eseguibile di cui non puoi andare in Debug... credo ti convenga ricompilarlo con la possibilit di scrivere un LOG con tutto quello che vorresti leggere di utile, farlo girare e leggerti il LOG come faresti con il DEBUG.

    Non avrei altra soluzione da proporti...
    al momento non ho la pi pallida idea di come creare un file LOG. provo a remmare la (poco)gestione degli errori all'interno della Sub e vedo che succede.


    Quote Originariamente inviato da Cteniza Visualizza il messaggio
    Molto umilmente ti posso consigliare di adottare un'altra strada?
    Come creare un foglio Excel senza avere Excel installato
    molto interessante, purtroppo i dati che devo esportare sono in una grid popolata da pi cicli della stessa SQL, e non saprei come farlo in un'unica soluzione.
    il tuo sistema funziona solo con i record di una tabella (Customers) o possibile appicarlo ad altri insiemi (vedi il mio caso)?
    potrei, se non risolvo diversamente, copiare i dati della grid in una tabella ad hoc e poi estrarli con il tuo metodo.

    franco

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Esportare su excel dati sottomaschera
    Da maxs84 nel forum Microsoft Access
    Risposte: 13
    Ultimo Post: 22-02-2018, 16:29
  2. Esportare dati da Access ad Excel
    Da federicodi84 nel forum Microsoft Access
    Risposte: 13
    Ultimo Post: 13-08-2014, 13:05
  3. Esportare dati da excel a word
    Da machopicho nel forum Microsoft Excel
    Risposte: 14
    Ultimo Post: 12-08-2009, 12:39
  4. Esportare dati in excel da access
    Da gaetano66 nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 13-06-2008, 13:52
  5. [excel] esportare dati
    Da francof nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 30-11-2007, 09:58