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