excel vba 加一句话表示程序运行进度

excel vba 加一句话表示程序运行进度,第1张

excel vba 加一句话表示程序运行进度(cnGzb.CursorLocation = adUseClient)

大多数人可能认为软件升级是不会有问题的,事实上,在升级过程中都会对其中共享的一些组件也进行升级,但是其它程序可能不支持升级后的组件从而导致各种问题。

Excel执行VBA时显示进度条。

i为代码的for循环,或者计步器

Application.statusbar=”完成 “&format(i/10000*100,”0.00”)

突然想起以看过一遍关于优化SQL查询的文章,里面对SQL查询优化有一个枯哗比较详细的说明,特别比较了在已建立索引的字段上进行查询与未建立索引字段上查询速度的差别,想起一句话,“所有快速谈败氏查找都是基于排序的”,于是马上修改代码,添加对rsGzb中的工号字段进行排序代码(rsGzb.Sort = "gh ASC"),运行,出错(运行时错误3251:当含散前提供程序不支持排序或过滤所必须的界面),查看sort属性的帮助,发现里面有一条说明“此属性要求将 CursorLocation 属性设置为 adUseClient。”,于是添加代码(cnGzb.CursorLocation = adUseClient),再运行。1秒内就完成了 *** 作

下面就是程序中的那几句关键代码(第1名和第3句在这儿的作用相同,可以只写一句)

cnGzb.CursorLocation adUseClient

Set rsGzb = New ADODB.Recordset

rsGzb.CursorLocation = adUseClient 'CursorLocation对于关闭的recordset对象可读可写,对于打开的recordset对象只读

rsGzb.Open sSqlCommand, cnGzb, adOpenKeyset, adLockBatchOptimistic

Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub dfff()

    UserForm1.Show

        UserForm1.Label2.Top = UserForm1.Label1.Top

        UserForm1.Label2.Left = UserForm1.Label1.Left

        UserForm1.Label3.BackStyle = fmBackStyleTransparent

    For i = 1 To 100

      镇谨告  UserForm1.Label3.Caption = i & "%"

        UserForm1.Label1.Width = UserForm1.Label2.Width * i 御明/ 100

        Sleep 100

        UserForm1.Repaint

    Next

        UserForm1.Label3.Caption = "加载完成!"

End Sub

窗体内设置3个label, label1背景 label2进晌搭度 label3文字。 输入以上代码即可


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12477371.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存