Excel 통합 문서간에 데이터를 가져 오거나 내보내는 데 문제가 있습니다. 예를 들어 3 개의 텍스트 상자가있는 양식이 있습니다.Visual Basic에서 TextBox 텍스트 유지
셀 A1, A2 및 A3이 완료된 간단한 Excel 시트를 설치했습니다. 디버그를 실행하면 처음 두 개의 상자에만 Excel 데이터가 채워집니다.
또한 텍스트 상자의 값을 변경하면 원래 스프레드 시트에 다시 저장되지 않습니다! 저장이 발생했는지 확인하기 위해 스프레드 시트를 열려고 할 때 읽기 전용 알림이 표시되지만 응용 프로그램 시작시 새 데이터를 가져올 수 있도록 원래 시트를 변경할 수 있기를 원합니다!
아래 코드를 붙여 넣었습니다 ... 나는 심각하게 잘못된 것을하고 있습니까?
Public Class Form1
Dim objExcel As New Excel.Application
Dim objWorkbook As Excel.Workbook
Dim objWorksheet As Excel.Worksheet
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
objWorkbook = objExcel.Workbooks.Open("C:\Users\HP\desktop\Book2.xls")
objWorksheet = CType(objWorkbook.Worksheets.Item("Sheet1"), Excel.Worksheet)
TextBox1.Text = objWorksheet.Cells(1, 1).text
TextBox2.Text = objWorksheet.Cells(2, 1).text
TextBox3.Text = objWorksheet.Cells(3, 1).text
End Sub
Private Sub Command1_Click()
objWorksheet.Cells(1, 1).Value = TextBox1.Text
objWorksheet.Cells(2, 3).Value = TextBox2.Text
objWorksheet.Cells(3, 3).Value = TextBox3.Text
End Sub
Private Sub Command2_Click()
objExcel.Application.Quit()
End Sub
Private Sub Command3_Click()
objExcel.SaveAs("C:\Users\HP\desktop\Book2.xls")
End Sub
End Class
위의 코드가 컴파일 되었습니까? 그냥이 줄을 봐야합니다. TextBox3.Text = objWorksheet.celss (3, 1) .text –
감사합니다. Mattias, txtbox 3을 채우지 못하게하는 것으로 눈치 채지 못했던 오타였습니다. 왜 내가 다시 쓰는 것처럼 보이지 않는지에 대한 아이디어와 셀 내용을 변경하기 위해 원래 스프레드 시트를 다시 열어 볼 수 있습니까? 모든 질문에 대해 유감스럽게 생각합니다. 저는 VB에 익숙하지 않습니다. 여전히 내 길을 찾고 있습니다. 다시 한 번 감사드립니다 H – Hazeley
Excel.Workbook을 사용하기 위해 어떤 라이브러리를 가져 오나요? –