Lotus按时间段导出到EXCEL代码

本示例介绍如何使用VBA从Lotus Notes数据库中检索特定时间段内的记录,并将其导出到Excel表格中。代码实现了用户输入指定日期范围的功能,通过查询字符串筛选出符合条件的数据,最终将数据导出到Excel文件。
  注意:本例中是 域nian 存放时间   比较时一定要转化成文本型。

    在本例中,没有转化,但 nian设置的是文本域

Sub Initialize

       Dim s As New NotesSession

       Dim db As NotesDatabase

       Dim view As NotesView

       Dim doc As NotesDocument

       Dim exapp As Variant

       Dim exsheet As Variant

       Dim exworkbook  As Variant

       Dim docall As NotesDocumentCollection

      

       Set db=s.CurrentDatabase

       Set view=db.GetView("all")

      

       Set exapp=createobject("excel.application")

       exapp.referencestyle=2

       exapp.statusbar="正在计算导出Excel,请稍后..."

      

       exapp.workbooks.add

       Set exsheet=exapp.workbooks(1).worksheets(1)

       exsheet.name="Tip Top零件编码申请"

      

       Dim row As Integer

       Dim col As Integer

       Dim maxcol As Integer

       row=1

       col=1

       For x=0 To Ubound(view.Columns)

              If view.Columns(x).ishidden=False Then

                     If view.Columns(x).title<>"" Then

                            exsheet.cells(row,col).value=view.Columns(x).title

                     End If

                     col=col+1

              End If

       Next

       maxcol=col-1

       key1=Inputbox$("请输入要统计的月份开始日期,:<st1:chsdate w:st="on" isrocdate="False" year="2006" day="1" islunardate="False" month="5">2006-05-01</st1:chsdate>","统计月份")

       key2=Inputbox$("请输入要统计的月份结束日期,:<st1:chsdate w:st="on" isrocdate="False" year="2006" day="20" islunardate="False" month="5">2006-05-20</st1:chsdate>","统计月份")

       If Len(key1)<>10 Then

              Messagebox "输入的月份格式不对,请重新输入",,"提示"

              Exit Sub

       End If

             Dim filename As String

If Len(key2)<>10 Then
              Messagebox "输入的月份格式不对,请重新输入",,"提示"
              Exit Sub
       End If
       srchstring="SELECT Form = 'zhijumulu' & nian>='"+key1+"' & nian<='"+key2+"'"
       Set docall=db.Search(srchstring,Nothing,0)
       Dim coll As String
       coll=docall.Count
       If coll="" Then
              Messagebox "没有符合的记录,请确认输入条件是否正确",0,"警告"
              Exit Sub
       Else
              Messagebox "共有"+coll+"条符合要求的记录"
       End If

 

       Dim fitem As notesitem

       row=2

       col=1

       exapp.visible=True

       For i = 1 To coll

              Set doc= docall.getnthdocument(i)

              exapp.statusbar="正在从Notes里导出数据,可能要一段时间,请等候....."

              For j= 0 To Ubound(view.columns)

                     If view.columns(j).ishidden=False Then

                            If view.columns(j).title<>"" Then

                                   filename= view.columns(j).itemname

                                   Set fitem= doc.getfirstitem(filename)

                                   exsheet.cells(row,col).value= fitem.text

                                  

                            End If

                            col=col+1

                     End If    

              Next

              col=1

              row=row+1

              Set doc= docall.GetNthDocument(i)

       Next

      

       '格式化excel

       exapp.rows("1:1").select

       exapp.selection.font.bold=True

       exapp.range(exsheet.cells(1,1),exsheet.cells(row,maxcol)).select

       exapp.selection.font.name="Arial"

       exapp.selection.font.size=9

       exapp.selection.columns.autofit

      

       exapp.referencestyle=1

       exapp.range("A1").select

       exapp.statusbar="数据导入完成"

      

End Sub

提供了基于BP(Back Propagation)神经网络结合PID(比例-积分-微分)控制策略的Simulink仿真模型。该模型旨在实现对杨艺所著论文《基于S函数的BP神经网络PID控制器及Simulink仿真》中的理论进行实践验证。在Matlab 2016b环境下开发,经过测试,确保能够正常运行,适合学习和研究神经网络在控制系统中的应用。 特点 集成BP神经网络:模型中集成了BP神经网络用于提升PID控制器的性能,使之能更好地适应复杂控制环境。 PID控制优化:利用神经网络的自学习能力,对传统的PID控制算法进行了智能调整,提高控制精度和稳定性。 S函数应用:展示了如何在Simulink中通过S函数嵌入MATLAB代码,实现BP神经网络的定制化逻辑。 兼容性说明:虽然开发于Matlab 2016b,但理论上兼容后续版本,可能会需要调整少量配置以适配不同版本的Matlab。 使用指南 环境要求:确保你的电脑上安装有Matlab 2016b或更高版本。 模型加载: 下载本仓库到本地。 在Matlab中打开.slx文件。 运行仿真: 调整模型参数前,请先熟悉各模块功能和输入输出设置。 运行整个模型,观察控制效果。 参数调整: 用户可以自由调节神经网络的层数、节点数以及PID控制器的参数,探索不同的控制性能。 学习和修改: 通过阅读模型中的注释和查阅相关文献,加深对BP神经网络与PID控制结合的理解。 如需修改S函数内的MATLAB代码,建议有一定的MATLAB编程基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值