一个关于进度条的问题????
单击按钮运行以下程序...
Form1.Show vbModal
'以下是调用一个类,是用来导出Excel数据的
Dim Cls_ReportExcel As New Cls_ReportExcel
Set Cls_ReportExcel = New Cls_ReportExcel
Call Cls_ReportExcel.ExportExcel_Card("CardInfo")
Set Cls_ReportExcel = Nothing
我想说的是,Form1中有一个进度条,用来显示导出进度,
如果设置显示模式为VBModal的话,必须得等时进度条跑到头才运行下面的代码,如果不设置为VBModal的话,就看不到效果了,那得等报表导出后才会看到效果.
现在我想实现的就是,Form1始终在窗体最上层,并且当进度条跑到头,Excel报表这时也打开.
'------Form1中代码-------
Private Sub Form_Load()
Dim MaxCount As Integer
Select Case Frm_Main.SSTab_Main.Tab
Case 0
MaxCount = Frm_Main.LVW_PlanRemind.ListItems.Count
Case 1
MaxCount = Frm_Main.LVW_Account.ListItems.Count
Case 2
MaxCount = Frm_Main.LVW_InfCard.ListItems.Count
Case 3
MaxCount = Frm_Main.LVW_WebSite.ListItems.Count
Case 4
MaxCount = Frm_Main.LVW_DataList.ListItems.Count
Case 5
MaxCount = Frm_Main.LVW_Diary.ListItems.Count
Case Else
MaxCount = 0
End Select
'----PBar为进度条-----
Me.PBar.Value = 0
Me.PBar.Min = 0
Me.PBar.Max = MaxCount + 1
Me.Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Me.PBar.Value = Me.PBar.Value + 1
Me.Lab_Complete.Caption = Int(Me.PBar.Value / Me.PBar.Max * 100) & Chr(32) & "%"
If Me.PBar.Value >= Me.PBar.Max Then
Me.Timer1.Enabled = False
Unload Me
End If
End Sub
请问如何实现啊......
谢谢了...
[解决办法]
应该在 Cls_ReportExcel 中提供一个 Progress 的消息,在 ExportExcel_Card 中每处理一条就触发一次 Progress。
Form 中不能用 Timer,直接接收 Cls_ReportExcel 的 Progress 消息,在消息中更改 PBAr.Value。
一个关于进度条的有关问题?
一个关于进度条的问题????单击按钮运行以下程序...Form1.Show vbModal以下是调用一个类,是用来导出Excel
