我的代码如下:
Private Sub Command1_Click()
 On Error Resume Next
    CommonDialog1.ShowOpen   '打开路径对话窗体 Dim ExcelApp As excel.Application
 Set ExcelApp = CreateObject("excel.application")
 'ExcelApp.Workbooks.Open (App.Path & "\test1.xls")
 ExcelApp.Workbooks.Open (CommonDialog1.FileName) For x = 1 To 30
    Text1.Text = Cells(1, x).Value
   Next ExcelApp.Quit  '关闭EXL
End Sub问题:当第二次打开同一个或另一个EXL时,Cells(1, x).Value无法重新取值,还是第一次打开的最后一个单元格的内容,
请老师指点应如何解决,谢谢了!!!

解决方案 »

  1.   

    Text1.Text = Cells(1, x).Value
    改成
    Text1.Text = ExcelApp.Cells(x, 1).Value
      

  2.   

    都没有创建sheet对象,怎么取值啊?
      

  3.   

    加NEW关键字
    Dim ExcelApp As New excel.Application
      

  4.   

    Private Sub Command1_Click()
     On Error Resume Next
      CommonDialog1.ShowOpen '打开路径对话窗体 Dim ExcelApp As new excel.Application
     Set ExcelApp = CreateObject("excel.application")
    dim xlBook as excel.workbook
     'ExcelApp.Workbooks.Open (App.Path & "\test1.xls")
     set xlbook=ExcelApp.Workbooks.Open (CommonDialog1.FileName)
    dim xlsheet as excel.worksheet
    set xlsheet=xlbook.worksheets(1) For x = 1 To 30
      Text1.Text = xlsheet.Cells(1, x).Value
      Next ExcelApp.Quit '关闭EXL
    End Sub