Moro,
Mitenköhän toteutetaan vertailu excel kenttiin. Eli minulla on textboxissa tekstiä ja sitä olisi tarkoitus verrata esim. Kaikkiin A-sarakkeen kenttiin. Jos textboxin teksti vastaa jotain A-sarakkeen kentän tekstiä, esim. A23, tarkoitus olisi tuoda lukea ja tuoda tieto B23:sta takaisin ohjelmaan. Ja vastaavasti jos textbox.text = "S12345" ja excelin A17 = S12345, silloin luettaisiin teksti kentästä B17.
Excelin ohjelma osaa jo avata, joten siinä ei ole ongelmia.
Moikka timo80!
väännä tästä itsellesi sopivaan muotoon...
Imports Excel = Microsoft.Office.Interop.Excel Public Class Form1 Public Shared WithEvents xlApp As Excel.Application Public Shared WithEvents xlbook As Excel.Workbook Public Shared WithEvents xlSheet As Excel.Worksheet '... '... Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim fullPath As String = "C:\Työkirja1.xls" xlApp = CType(CreateObject("Excel.Application"), Excel.Application) xlBook = CType(xlApp.Workbooks.Add(fullPath), Excel.Workbook) xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet) xlSheet.Application.Visible = True fullPath = Nothing End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "" Then TextBox1.Focus: Exit Sub End If Dim LastRow As Integer = xlBook.ActiveSheet.Cells.SpecialCells( _ Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell).Row For i As Integer = 1 To LastRow If TextBox1.Text = ReadCell(i, 1) Then TextBox2.Text = ReadCell(i, 2): Exit For End If Next i LastRow = Nothing End Sub Public Function ReadCell(ByVal x As Integer, _ ByVal y As Integer) As String Return CStr(CType(CType(xlBook.ActiveSheet, _ Excel.Worksheet).Cells(x, y), Excel.Range).Value) End Function Private Sub Form1_FormClosing(ByVal Sender As Object, _ e As System.Windows.Forms.FormClosingEventArgs) _ Handles MyBase.FormClosing xlApp.Quit: xlSheet = Nothing xlBook = Nothing: xlApp = Nothing End Sub End Class
Kiitokset!
Aihe on jo aika vanha, joten et voi enää vastata siihen.