VBS例子

1:

Dim UserList(5)
UserList(0)="A"
UserList(1)="B"
UserList(2)="C"
UserList(3)="D"
UserList(5)="E"
strTargetUser="B"


msgbox MyFunction(UserList,strTargetUser)
Function MyFunction(Str1,Str2)
Dim blo
blo = False 
For i=0 To UBound(Str1)
If Str2 = Str1(i) Then
MyFunction = i
blo = true 
Exit FUNCTION  
End If
Next 
If Not blo Then
MyFunction = -1
End If 
End Function 



2:Excel

Dim xlApp,xlWorkBook,xlSheet
Dim iRowCount,iLoop,numAdd
'创建EXCEL对象
Set xlApp= CreateObject("Excel.Application")


'可见
xlApp.Visible= True
'不显示提示信息,这样保存的时候就不会提示是否要覆盖原文件
xlApp.DisplayAlerts=FALSE 
'创建Workbooks对象
Set xlWorkBook= xlApp.Workbooks.Open("d:\gh.xls")
'创建Sheets对象
Set xlSheet= xlWorkBook.Sheets("Sheet1")


'激活sheet
xlSheet.Activate
'UsedRange属性应用于Worksheet对象,返回指定工作表中已使用区域的Range对象,即返回工作表中已使用的单元格区域。
'xlSheet.usedRange.Rows.Count 返回有效数据行数
'iRowCount= xlSheet.usedRange.Rows.Count


For iLoop= 1 To 10
     
    'xlSheet.Cells(行,列) 返回单元格内容
     xlSheet.Cells(iLoop,1) = iLoop
    MsgBox iLoop 
   
Next
'保存Workbooks
xlWorkBook.Save
'关闭Workbooks
xlWorkBook.Close
'退出EXCEL
xlApp.Quit
'释放所有对象
Set xlSheet= Nothing
Set xlWorkBook= Nothing
Set xlApp= Nothing



3:read xml

paths = "D:\SVN_Work\MyERP\o9_scm\Config_finance_831\Module\SCM\Bill\Bill_AssetCard.xml"
ControlKey = "biaotouwenben"
call ReadPanelKey(paths,ControlKey)


Function ReadPanelKey(paths,ControlKey)
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
'这里去读一个xml文件,程序走到xmlDoc.load(url);若数据为加载完,则下一句就会报错,导致不能读出xml文件,若加上xmlDoc.async = false;将程序设置为同步加载,此时相当于挂起等待,客户机就要等到服务器返回消息后才去执行其他操作;而设置为true为异步就相当于后台执行,异步的好处是可以立即返回,继续做其它的事。
xmlDoc.async = False  
xmlDoc.load(Paths)
'readpanelkeys 分别记录是key,panelkeys,controltype,DBColumnName,DBLocation  新增ReadPanelKeys(8):BillMetaTable的Key 判断查询界面 、新增
Dim ReadPanelKeys(9),CapTF,ControlTF
ReadPanelKeys(8) = xmlDoc.getElementsByTagName("BillMetaTable")(0).attributes.getNamedItem("Key").nodeValue
If Right(LCase(ReadPanelKeys(8)),4) = "cond" Then
    ReadPanelKeys(9) = xmlDoc.getElementsByTagName("BillMetaTable")(0).attributes.getNamedItem("ID").nodeValue
else
    ReadPanelKeys(9) = ""
End If
For i = 0 to xmlDoc.getElementsByTagName("BillMetaField").Length-1
    On Error Resume Next
    CapTF = xmlDoc.getElementsByTagName("BillMetaField")(i).attributes.getNamedItem("Key").nodeValue
    If CapTF = ControlKey  Then
        ReadPanelKeys(0) = ControlKey
        ReadPanelKeys(1) = xmlDoc.getElementsByTagName("BillMetaField")(i).childNodes(0).childNodes(0).attributes.getNamedItem("PanelKey").nodeValue        
        ReadPanelKeys(2) = xmlDoc.getElementsByTagName("BillMetaField")(i).attributes.getNamedItem("ControlType").nodeValue
        ReadPanelKeys(3) = xmlDoc.getElementsByTagName("BillMetaField")(i).attributes.getNamedItem("DBColumnName").nodeValue
        ReadPanelKeys(4) = xmlDoc.getElementsByTagName("BillMetaField")(i).attributes.getNamedItem("DBLocation").nodeValue
        ReadPanelKeys(7) = xmlDoc.getElementsByTagName("BillMetaField")(i).attributes.getNamedItem("Caption").nodeValue
        If ReadPanelKeys(2)="DICTIONARY" Then
            ReadPanelKeys(6) =  xmlDoc.getElementsByTagName("BillMetaField")(i).attributes.getNamedItem("ItemKey").nodeValue
            ReadPanelKeys(6) = ReadPanelKeys(6)&xmlDoc.getElementsByTagName("BillMetaField")(i).attributes.getNamedItem("FieldType").nodeValue
        Elseif ReadPanelKeys(2)="COMBOBOX" Then
            ReadPanelKeys(6) = xmlDoc.getElementsByTagName("BillMetaField")(i).childNodes(0).attributes.getNamedItem("Caption").nodeValue&"|"& xmlDoc.getElementsByTagName("BillMetaField")(i).childNodes(0).attributes.getNamedItem("Value").nodeValue
        Elseif ReadPanelKeys(2)="CheckListBox" Then
            ReadPanelKeys(6) = xmlDoc.getElementsByTagName("BillMetaField")(i).childNodes(0).attributes.getNamedItem("Caption").nodeValue&"|"& xmlDoc.getElementsByTagName("BillMetaField")(i).childNodes(0).attributes.getNamedItem("Value").nodeValue
        ElseIf ReadPanelKeys(2)="CHECKBOX" Then
            RadioGroupKey = xmlDoc.getElementsByTagName("BillMetaField")(i).childNodes(0).attributes.getNamedItem("RadioGroupKey").nodeValue
            ReadPanelKeys(5) = RadioGroupKey
        ElseIf UCase(ReadPanelKeys(2))="DATATIME" Then
            ReadPanelKeys(6) = ReadPanelKeys(2)
        End If
    End If            
Next
ReadPanelKey = ReadPanelKeys
MsgBox  Join(ReadPanelKeys,",")
Set xmlDoc = Nothing
End Function



转载于:https://my.oschina.net/sunyh/blog/128825

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值