Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    29

    [VB2010] Problema con dati da excel 2007

    Ciao a tutti, mi trovo di di fronte ad un problema e non riesco a capire come risolverlo

    (cerco di spiegarlo il meglio possibile)
    dato questo codice

    Private Sub RatesOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RatesOK.Click
    modelselect = MOD_List.Text



    Dim excel As Microsoft.Office.Interop.Excel.Application
    Dim wb As Microsoft.Office.Interop.Excel.Workbook
    Dim ws As Microsoft.Office.Interop.Excel.Worksheet
    excel = New Microsoft.Office.Interop.Excel.Application

    ' richiamo i dati dal file excel

    wb = excel.Workbooks.Open("C:\...........\resultratesxl s.xls")

    If modelselect = "GTP" Then
    excel.Visible = False
    wb.Activate()
    ws = wb.Worksheets.Item(1)
    ws = excel.ActiveSheet

    ' inizio dati foglio 1

    RatesData.ResultRates0.Text = ws.Cells(1, 1).value
    RatesData.ResultRates1.Text = ws.Cells(2, 1).value
    RatesData.ResultRates2.Text = ws.Cells(1, 2).value
    RatesData.ResultRates3.Text = ws.Cells(2, 2).value

    excel.Workbooks.Close()
    excel.Quit()

    End If
    If modelselect = "GTPr" Then
    excel.Visible = False
    wb.Activate()

    ws = wb.Worksheets.Item(2)
    ws = excel.ActiveSheet

    ' inizio dati di foglio2

    RatesData.ResultRates0.Text = ws.Cells(1, 1).value
    RatesData.ResultRates1.Text = ws.Cells(2, 1).value
    RatesData.ResultRates2.Text = ws.Cells(1, 2).value
    RatesData.ResultRates3.Text = ws.Cells(2, 2).value
    excel.Workbooks.Close()
    excel.Quit()

    End If
    If modelselect = "GTPs" Then
    excel.Visible = False
    wb.Activate()

    ws = wb.Worksheets.Item(3)
    ws = excel.ActiveSheet
    ' inizio dati foglio 3
    RatesData.ResultRates0.Text = ws.Cells(1, 1).value
    RatesData.ResultRates1.Text = ws.Cells(2, 1).value
    RatesData.ResultRates2.Text = ws.Cells(1, 2).value
    RatesData.ResultRates3.Text = ws.Cells(2, 2).value
    excel.Workbooks.Close()
    excel.Quit()

    End If
    RatesData.ShowDialog()

    End Sub

    il codice funziona [Ratesdata è un altro form (che si apre alla pressione del tasto ok nel form principale) all'interno del quale c'è un tasto chiudi che oltre a chiudere il form, "killa" anche l'applicazione excel.exe dai processi win7 attivi], ma quando seleziono dalla combobox un valore diverso da primo, i valori che estrae da excel rimangono invariati ovvero se premo su GTPs, e dopo su GTP, resultrates0,1,2,3 rimangono i valori del foglio 3 di excel anzichè apparire quelli del foglio 1.
    Ci sto battendo la testa da ore ma non riesco a capire dove è il problema.
    Grazie

  2. #2
    Senza soffermarmi troppo sulla logica del codice ... vorrei farti notare che, nel caso di modelselect = "GTP" valorizzi le TextBox 13 e 14 anzichè la 2 e la 3.
    Che sia quello?????

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    29
    Hai ragione, ma ho solo sbagliato a scrivere sul forum. Nel codice è corretto sono la 2 e 3 anzichè 13 e 14.
    Ciao

    ps. ho corretto

  4. #4
    Ciao
    Devi eliminare questa istruzione dal tuo codice
    codice:
    ws = excel.ActiveSheet
    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    29
    Grazie infinite Jeremy, funziona.
    Ciao

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.