有以下循环,用进度条显示进度,请问进度条该如何制作?
Do While xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 1) <> ""
Text1.Text = Text1.Text & xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 1).Value & "," & xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 3).Value & "," & xlsApp.ActiveWorkbook.Sheets("sheet1").Cells(i, 34).Value & vbCrLf
i = i + 1
Loop
解决方案 »
- 如何控制另一程序中的Slider控件
- 不知道是不是应该叫“网络数据库”呢,想请教各位个问题!!
- █ █ █ █ █ █ █ 一个使用vsPrint的问题 █ █ █ █ █ █ █ █
- ◆◆◆◆◆怎样在一个文本文件里面读一行就删掉一行(文本文件里有成千上万行)?◆◆◆◆◆
- 即将毕业,大家看我该拿多少?(附简历)UP有分!!!!!!!
- 如何在word中屏蔽 复制,粘贴,拖动等动作?
- 我是菜鸟,各位老大请帮我一下
- 不好意思,求出一字符再另一字符串中出現的個數的函數是哪個的??我忘了.
- 对面的高手收看过来!!!!
- 【求助】vb怎么能让播放器把视频播完,再读下一个?
- VB6控件Datagrid
- VBA实现全局钩子的调用
在处理数据之前,是能够确定需要处理多少行的。
除非,用“滚动进度条”,表示在数据处理过程中。
前几年,有人问过这个代码。
他那个是在Excel /VBA 中的应用。
你是在VB中,处理这个事情就更简单了。
'字符串连接并显示的方式的速度差别
'
'工程里加入一个文本框,MultiLine=True,ScrollBars=2,再加入一个按钮
'
'By 嗷嗷叫的老马
'http://www.m5home.com/
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long
Private Sub Command1_Click()
Dim I As Long, J As Long, K As Long, L As Long
Dim Arr1() As String, Arr2() As String, Arr3() As String
Dim buffArr() As String
Dim STT As Long
Text1.Font = "宋体"
Text1.Font.Size = 9
STT = GetTickCount
J = 65
K = 66
L = 67
ReDim Arr1(10000)
ReDim Arr2(10000)
ReDim Arr3(10000)
For I = 0 To 10000
Arr1(I) = String(5, Chr(J))
Arr2(I) = String(5, Chr(K))
Arr3(I) = String(5, Chr(L))
If J = 90 Then
J = 65
Else
J = J + 1
End If
If K = 90 Then
K = 65
Else
K = K + 1
End If
If L = 90 Then
L = 65
Else
L = L + 1
End If
Next
Debug.Print "生成数组时间(ms) ="; GetTickCount - STT
MsgBox "OK1"
STT = GetTickCount
ReDim buffArr(10000)
For I = 0 To 10000
buffArr(I) = Arr1(I) & "," & Arr2(I) & "," & Arr3(I) '中间结果保存到一个字符串数组
Next
Text1.Text = Join(buffArr(), vbCrLf) '使用join一次性连接,并赋值给文本框
Debug.Print "使用中间变量保存并使用Join一次性填充时间(ms) ="; GetTickCount - STT
MsgBox "OK2"
Text1.Text = ""
STT = GetTickCount
For I = 0 To 10000
Text1.Text = Text1.Text & Arr1(I) & "," & Arr2(I) & "," & Arr3(I) & vbCrLf
Next
Debug.Print "使用控件属性直接填充时间(ms) ="; GetTickCount - STT
MsgBox "OK3"
End Sub