一、声明进度条代码:
我们在数据库的Script库中加入名为ProgressBar的库,
 
Notes进度条[C/S]_休闲
 
在声明(Declarations)中加入代码:
Declare Function NEMProgressBegin Lib "nnotesws.dll"() NEMProgressBegin Lib "nnotesws.dll"(Byval wFlags As Integer) As Long        
Declare Sub NEMProgressEnd Lib "nnotesws.dll"() NEMProgressEnd Lib "nnotesws.dll"(Byval hwnd As Long)        
Declare Sub NEMProgressSetBarPos Lib "nnotesws.dll"() NEMProgressSetBarPos Lib "nnotesws.dll"(Byval hwnd As Long,Byval dwPos As Long)        
Declare Sub NEMProgressSetBarRange Lib "nnotesws.dll"() NEMProgressSetBarRange Lib "nnotesws.dll"(Byval hwnd As Long,Byval dwMax As Long)        
Declare Sub NEMProgressSetText Lib "nnotesws.dll"() NEMProgressSetText Lib "nnotesws.dll"(Byval hwnd As Long,Byval pcszLine1 As String,Byval pcszLine2 As String)    
Class ProgressBar        
    
Private hwnd As Long        
         '构造类        
New () New (BarRange As Long)            
    On Error Goto ErrorHandler        
                    '创建进度条        
    Me.hwnd = NEMProgressBegin(NPB_TWOLINE)        
                 '设置进度条的总长        
    Call NEMProgressSetBarRange(Me.hwnd,BarRange)        
    Exit Sub        
ErrorHandler:        
    Dim TheError As String        
    TheError = "Constructor:Error" + Str(Err) + ":" + Error$            
    Messagebox TheError,0 + 48,"Progress Bar Error"        
End Sub        
         '回收对象        
Public Sub Delete        
         '取消进度条        
    Call NEMProgressEnd(Me.hwnd)            
End Sub        
    
Sub UpdatePosition() Sub UpdatePosition(BarPos As Long)        
                 '公共方法:更新进度位置        
    Call NEMProgressSetBarPos(Me.hwnd,BarPos)        
End Sub        
    
Sub UpdateProgressText() Sub UpdateProgressText(BarMsg As String,UpdateMsg As String)        
                    '公共方法:更新进度条显示文字        
    Call NEMProgressSetText(Me.hwnd,BarMsg,UpdateMsg)        
End Sub            
End Class        
 
二、调用:
 
1、在你需要调用的代码的(Options)中加入:
Use "ProgressBar"
 
2、在Initialize中加入:
  '调用进度条
  ConstNPB_TWOLINE% = 1            
  Dim pb As New ProgressBar(10000)        
  Dim m As Long        
  For m=1 To 10000            
    Call pb.UpdatePosition(m)        
  Next m    
 
然后在notes客户端运行此代理便可。我在导入Excel数据到Domino中的代理中添加了如上代码,运行效果如:
Notes进度条[C/S]_职场_02
这个界面跟我们在平时notes客户端拷贝数据库文档见到的是一样的。