• VBS常用方法


    Err 对象

       Err 对象是一个具有全局范围 —的固有对象:不必在您的代码中创建它的示例。Err的属性被一个错误的生成器设置:Visual Basic自动对象,或 VBScript程序。err对象含有关于运行时错误的信息。接受用于生成和清除运行时错误的Raise 和Clear方法。当发生运行时错误时,Err的属性由标识错误的唯一信息以及可用于处理它的信息填充。要在代码中生成运行时错误,请用Raise方法。

    Err 对象的属性

       Number 属性 错误号。Number 是 Err 对象的默认属性,可读可写。语法:

      err.Number [= errornumber]

      Description 属性 返回或设置与错误相关联的说明性字符串。语法:
      err.Description [= stringexpression] 

     Source 属性 返回或设置最初生成错误的对象或应用程序的名称。语法: 
    err.Source [= stringexpression]

    HelpFile 属性 设置或返回帮助文件的完整有效路径。 语法:
    err.HelpFile [= contextID]

    contextID是帮助文件的完整有效路径。

     

    HelpContext 属性 设置或返回帮助文件主题的上下文 ID。语法:

    err.HelpContext [= contextID]

    contextID是在帮助文件中帮助主题的有效标识符。

     

    Err 对象的方法

     

    Raise方法 生成运行时错误。语法:

    err.Raise(number, source, description, helpfile, helpcontext)

    number是错误号,长整数子类型。VBScript 错误有VBScript

    定义和用户定义两种错误,错误号的范围在0-65535 之间。number参数是必须的,其它参数是可选的,用来设置err对象的某属性。如果不指定某些参数且Err对象的属性设置含有未清除的值,则这些值将成为错误的值。

     

    Clear 方法 清除 Err 对象的所有属性设置。语法:

    err.Clear

    在错误处理后,使用Clear 显式地清除Err 对象,此操作是必须的,在任何时候执行下列语句,VBScript 将自动调用 Clear 方法:

    On Error Resume Next

    Exit Sub

    Exit Function

     

    例程1 生成并显示第6号错误。

    代码

    On Error Resume Next

    Err.Raise 6 '发生溢出错误。

    MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)

    Err.Clear ' 清除错误。

     

    例程2 建立用户自己的错误号和错误信息。

      代码:

    On Error Resume Next

    Err.Raise vbObjectError + 1, "SomeObject" ' 产生对象错误 #1.

    MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description & " " & Err.source)

    Err.Clear ' 清除错误。

    运行:

    代码注释

    例程1演示的是VBScript定义的错误,而例程2演示的是用户定义的错误。

    目标任务 把VBScript定义的前100个错误信息显示出来。

    代码

    sub showErr(i)

    On Error Resume Next

    Err.Raise i

    document.write ("Error # " & CStr(Err.Number)&" "& Err.Description & " ")

    Err.Clear

    End sub

    for i =0 to 100

    showErr i

    next

    对比 Javascript中做不到这一点。

     

    参考 On Error语句

    On Error启动错误处理程序。语法:

    On Error Resume Next

    若不使用On Error语句,发生的任何运行时错误都将是致命的,即显示错误信息并终止运行。On

    Error 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用过程(该过程含有On Error 语句)的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。在调用另一个过程时,On Error语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行On Error语句。

     

     

    (一) 使用动态创建的方法

    首先创建 Excel 对象,使用ComObj:

    oExcel = CreateObject( "Excel.Application" )

    1) 显示当前窗口:
    oExcel.Visible = True

    2) 更改 Excel 标题栏:
    oExcel.Caption = "应用程序调用 Microsoft Excel"

    3) 添加新工作簿:
    oExcel.WorkBooks.Add

    4) 打开已存在的工作簿:
    oExcel.WorkBooks.Open( "C:\Excel\Demo.xls" )

    5) 设置第2个工作表为活动工作表:
    oExcel.WorkSheets(2).Activate

    oExcel.WorksSheets( "Sheet2" ).Activate

    6) 给单元格赋值:
    oExcel.Cells(1,4).Value = "第一行第四列"

    7) 设置指定列的宽度(单位:字符个数),以第一列为例:
    oExcel.ActiveSheet.Columns(1).ColumnsWidth = 5

    8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
    oExcel.ActiveSheet.Rows(2).RowHeight = 1/0.035 ' 1厘米

    9) 在第8行之前插入分页符:
    oExcel.WorkSheets(1).Rows(8).PageBreak = 1

    10) 在第8列之前删除分页符:
    oExcel.ActiveSheet.Columns(4).PageBreak = 0

    11) 指定边框线宽度:
    oExcel.ActiveSheet.Range( "B3:D4" ).Borders(2).Weight = 3
    1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )

    12) 清除第一行第四列单元格公式:
    oExcel.ActiveSheet.Cells(1,4).ClearContents

    13) 设置第一行字体属性:
    oExcel.ActiveSheet.Rows(1).Font.Name = "隶书"
    oExcel.ActiveSheet.Rows(1).Font.Color = clBlue
    oExcel.ActiveSheet.Rows(1).Font.Bold = True
    oExcel.ActiveSheet.Rows(1).Font.UnderLine = True

    14) 进行页面设置:

    a.页眉:
    oExcel.ActiveSheet.PageSetup.CenterHeader = "报表演示"
    b.页脚:
    oExcel.ActiveSheet.PageSetup.CenterFooter = "第&P页"
    c.页眉到顶端边距2cm:
    oExcel.ActiveSheet.PageSetup.HeaderMargin = 2/0.035
    d.页脚到底端边距3cm:
    oExcel.ActiveSheet.PageSetup.HeaderMargin = 3/0.035
    e.顶边距2cm:
    oExcel.ActiveSheet.PageSetup.TopMargin = 2/0.035
    f.底边距2cm:
    oExcel.ActiveSheet.PageSetup.BottomMargin = 2/0.035
    g.左边距2cm:
    oExcel.ActiveSheet.PageSetup.LeftMargin = 2/0.035
    h.右边距2cm:
    oExcel.ActiveSheet.PageSetup.RightMargin = 2/0.035
    i.页面水平居中:
    oExcel.ActiveSheet.PageSetup.CenterHorizontally = 2/0.035
    j.页面垂直居中:
    oExcel.ActiveSheet.PageSetup.CenterVertically = 2/0.035
    k.打印单元格网线:
    oExcel.ActiveSheet.PageSetup.PrintGridLines = True

    15) 拷贝操作:

    a.拷贝整个工作表:
    oExcel.ActiveSheet.Used.Range.Copy
    b.拷贝指定区域:
    oExcel.ActiveSheet.Range( "A1:E2" ).Copy
    c.从A1位置开始粘贴:
    oExcel.ActiveSheet.Range.( "A1" ).PasteSpecial
    d.从文件尾部开始粘贴:
    oExcel.ActiveSheet.Range.PasteSpecial

    16) 插入一行或一列:
    a. oExcel.ActiveSheet.Rows(2).Insert
    b. oExcel.ActiveSheet.Columns(1).Insert

    17) 删除一行或一列:
    a. oExcel.ActiveSheet.Rows(2).Delete
    b. oExcel.ActiveSheet.Columns(1).Delete

    18) 打印预览工作表:
    oExcel.ActiveSheet.PrintPreview

    19) 打印输出工作表:
    oExcel.ActiveSheet.PrintOut

    20) 工作表保存:
    if not oExcel.ActiveWorkBook.Saved then
    oExcel.ActiveSheet.PrintPreview

    21) 工作表另存为:
    oExcel.SaveAs( "C:\Excel\Demo1.xls" )

    22) 放弃存盘:
    oExcel.ActiveWorkBook.Saved = True

    23) 关闭工作簿:
    oExcel.WorkBooks.Close

    24) 退出 Excel:
    oExcel.Quit

    (二) 使用VBS 控制Excle二维图

    1)选择当第一个工作薄第一个工作表
    set Sheet=oExcel.Workbooks(1).Worksheets(1)

    2)增加一个二维图
    achart=oSheet.chartobjects.add(100,100,200,200)

    3)选择二维图的形态
    achart.chart.charttype=4

    4)给二维图赋值
    set series=achart.chart.seriescollection
    range="sheet1!r2c3:r3c9"
    series.add range,true

    5)加上二维图的标题
    achart.Chart.HasTitle=True
    achart.Chart.ChartTitle.Characters.Text=" Excle二维图"

    6)改变二维图的标题字体大小
    achart.Chart.ChartTitle.Font.size=18

    7)给二维图加下标说明
    achart.Chart.Axes(xlCategory, xlPrimary).HasTitle = True
    achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "下标说明"

    8)给二维图加左标说明
    achart.Chart.Axes(xlValue, xlPrimary).HasTitle = True
    achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "左标说明"

    9)给二维图加右标说明
    achart.Chart.Axes(xlValue, xlSecondary).HasTitle = True
    achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "右标说明"

    10)改变二维图的显示区大小
    achart.Chart.PlotArea.Left = 5
    achart.Chart.PlotArea.Width = 223
    achart.Chart.PlotArea.Height = 108

  • 相关阅读:
    进程和线程
    jQuery闭包理解
    数据库设计
    DevOps概念
    DevOps实践指南-何处开始(5-8)
    DevOps实践指南-DevOps介绍(1-4)
    iNeuOS工业互联平台,设备容器(物联网)改版,并且实现设备数据点的实时计算和预警。发布3.2版本
    iNeuOS工业互联平台,在“智慧”楼宇、园区等领域的应用
    iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
    参观2020年上海工业博览会几点感受及判断
  • 原文地址:https://www.cnblogs.com/shinhwa/p/1677007.html
Copyright © 2020-2023  润新知