Board logo

標題: [發問] VB6 MSFlexGrid 元件資料匯至 excel問題 [打印本頁]

作者: 暗黑    時間: 2010-6-16 13:38     標題: VB6 MSFlexGrid 元件資料匯至 excel問題

VB6 中 有 MSFlexGrid 元件 內資料在匯出至Excel 是
一般模式都是用迴圈方式(程式碼如下)
    For i = 0 To MSFlexGrid1.Rows - 1
        For jNo = 0 To MSFlexGrid1.Cols - 1
          wshExcel.Cells(i + 1, j + 1) =  MSFlexGrid1.TextMatrix(i, j)
        Next cNo
     Next rNo

請問各位大大,要如何讓 MSFlexGrid可以像listbox元件一樣可以直接貼上
Listbox程式碼如下
    Set MyXlsApp = CreateObject("Excel.Application")
    MyXlsApp.Visible = True
    Set xlbook = MyXlsApp.Workbooks.Add
    Set xlsheet1 = xlbook.Worksheets(1)

    xlsheet1.Cells(1, 1).Value = "產品序號"
    xlsheet1.Cells(1, 2).Value = "功率"
    xlsheet1.Cells(1, 3).Value = "全距"
    xlsheet1.Cells(1, 4).Value = "檢驗時間"
   
    xlsheet1.Range(xlsheet1.Cells(1, 1), xlsheet1.Cells(UserForm1.ListBox1.ListCount, UserForm1.ListBox1.ColumnCount)).Offset(1, 0) = UserForm1.ListBox1.List

例如

xlsheet1.Range(x,y),offset)1,0)=MSFlexGrid1.XXXXXXX
作者: Min    時間: 2010-6-27 22:04

不好意思~ 我的方式也是用迴圈一個一個取...
可能幫不上什麼忙...
作者: 暗黑    時間: 2010-6-29 10:44

閔大大出現了,呵呵
我也在其他網站找了很久,也都是用回圈的方式
作者: Min    時間: 2010-6-29 12:55

閔大大出現了,呵呵
我也在其他網站找了很久,也都是用回圈的方式
暗黑 發表於 2010/6/29 10:44 AM


呵呵呵~ 真不好意思!因為小弟沒有更好的方式... 都不敢出現!
如果暗黑兄您研究出更快的方式,也請暗黑兄您不嗇指導~
作者: et5323    時間: 2010-9-13 19:51

'没其它的办法,只能用循环的方式读出数据,这和ListView控件差不多。不过可以先将数据读入数组,再通过数组写入Excel,毕竟Excel的VBA是最忌讳逐单元格操作的。
Dim arr(), lRow, lCol
Dim i, j
lRow = MSFlexGrid1.Rows
lCol = MSFlexGrid1.Cols
ReDim arr(1 To lRow, 1 To lCol)
For i = 0 To lRow - 1
    For j = 0 To lCol - 1
        arr(i + 1, j + 1) = MSFlexGrid1.TextMatrix(i, j)
    Next
Next
xlsheet1.Range("a1").Resize(lRow, lCol) = arr




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)