注册 登录
编程论坛 VB6论坛

求助,combo.list()如何更新?

lmqlyj 发布于 2015-01-27 11:57, 422 次点击
请教前辈:打开一次excel表后,点击“复位”能实现excel工作簿(Text1)和工作表(Combo1)更新。我用尽了办法还是不能更新Combo1,Combo1是首次打开的内容,如何更改“Combo1.Text = Combo1.List(0)”?或其它办法点击“复位”能实现excel工作簿(Text1)和工作表(Combo1)更新?
请看附件:
只有本站会员才能查看附件,请 登录
3 回复
#2
xzlxzlxzl2015-01-27 12:35
对command1_click代码修改如下可达到你的要求:

Private Sub Command1_Click() '打开表
  Dim Fname As String
  CommonDialog1.ShowOpen
  Fname = CommonDialog1.FileName
  Text1.Text = Fname
  If Not (XlApp Is Nothing) Then
    xlBook.Close
    XlApp.Quit
  End If
  Set XlApp = CreateObject("Excel.Application") '创建EXCEL应用类
  XlApp.Visible = True '设置EXCEL可见
  Set xlBook = XlApp.Workbooks.Open(Text1.Text) '打开EXCEL工作簿
  Combo1.Clear
  For Each xlsheet In xlBook.Worksheets
    Combo1.AddItem xlsheet.Name
  Next xlsheet
  'For i = 0 To Combo1.ListCount - 1
    Combo1.Text = Combo1.List(0)
  'Next
  Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表
  xlsheet.Activate '激活工作表
  Me.SetFocus

End Sub
#3
lmqlyj2015-01-27 13:23
谢谢版主,很抱歉占用了您的休息时间,完美解决了Combo1更新的问题。当我在“校对”中加进代码运行,第一次通过,但第二次就出错了,我加进的是VBA的代码,请问:该如何修改呢?
请看更新了的附件:
只有本站会员才能查看附件,请 登录
#4
lmqlyj2015-01-27 14:14
参考了http://bbs.的(Excel.Range的正确使用方法),已经解决问题。
1