魔兽世界自动任务脚本逐鹿中原

发布时间:2021-12-18 来源:脚本之家 点击:

如果我们只是列出DLL文件名而不指出其完整的路径的话,VB会自动到.EXE文件所在目录、当前工作目录、WINDOWS\SYSTEM目录、WINDOWS目录下搜寻这个DLL文件Write(string)

天龙八部脚本代理
今天需要编写一个将字符转换为ASCII的小程序,本来是用JavaScript的charCodeAt函数,后来想用VBScript中的AscW函数代替,比较之后发现有所不同:

类似功能的函数:

String.charCodeAt使用方法:varcode="A".charCodeAt(0);
类似AscW()使用方法:dimcode=AscW("A")

String.fromCharCode使用方法:varmyStr=String.fromCharCode(97);
类似ChrW()使用方法:dimmyStr=ChrW(97)

不同之处:

VBScript里AscW是为使用Unicode字符的32位平台提供的程序需要,我在网上找了很久才找到,刚刚把程序写好,并加写了注释,希望能帮助大家
再写程序前先引用
microsoftexcel11.0objectLibrary
我看到的文章是10.0的,我这是office2003是11.0,只要安了excel就有这个引用~
PrivateSubcmdsave_Click()
MsgBox"文件保存为:D:\电网配电线路管理信息系统\信息查询结果\事故信息查询结果.xls"
DimiAsInteger
DimjAsInteger
DimexAsObject
DimexwbookAsObject
DimexsheetAsObject

Setex=CreateObject("Excel.Application")
Setexwbook=Nothing
Setexsheet=Nothing
Setexwbook=ex.Workbooks().Add
Setexsheet=exwbook.Worksheets("sheet1")

'在excel里表格的表头,这是根据我的需要添加的标头
ex.Range("c3").Value="日期"
ex.Range("d3").Value="时间"
ex.Range("e3").Value="站点"
ex.Range("f3").Value="汇报人"
ex.Range("g3").Value="线路双编号"
ex.Range("h3").Value="保护动作类型"
ex.Range("i3").Value="事故原因"
ex.Range("j3").Value="处理负责人"
ex.Range("k3").Value="处理方法"
ex.Range("l3").Value="处理结果"
ex.Range("m3").Value="结束时间"
ex.Range("n3").Value="备注"
'i为记录个数使用循环将数据全部添加
Fori=1ToAdodc1.Recordset.RecordCount
j=3 i
'k为数据列数
Fork=0To11
'通过使用变量k和j变换单元格位置
q=Chr(99 k)&j
'将datagrid1的数据放到单元格内
ex.Range(q).Value=DataGrid1.Columns(k)
Nextk
'指针下移
IfAdodc1.Recordset.EOF=FalseThen
Adodc1.Recordset.MoveNext
EndIf
Nexti

'保存输入到事故信息查询结果.xls
exwbook.SaveAs"D:\电网配电线路管理信息系统\信息查询结果\事故信息查询结果.xls"
'退出excel
ex.Quit
EndSub
我觉得这段程序很简单而且很使用,使用时不要打开事故信息查询结果.xls否则会报错
存储时系统会自动提示是否更换文件,根据自己用发来用->

OnErrorResumeNext
'替换某文件夹及其子文件夹下的所有快捷方式的指向路径

strFolderPath="D:\ProgramFiles\TrueLaunchBar\Shortcut\File\Style"'快捷方式的路径
strToReplace="\SOFTWARE"'被替环的字符串
strReplace="\[Software]"'替换成的字符串

SetwshShell=CreateObject("Shell.Application")
SetwshFSO=CreateObject("Scripting.FileSystemObject")

AlterSubFolderswshFSO.GetFolder(strFolderPath)

SubAlterSubFolders(Folder)

SetnpFolder=wshShell.Namespace(Folder.Path)
SetallFiles=Folder.Files

ForEachlnkFileInallFiles
'Wscript.EcholnkFile.Name
IfInStrRev(UCase(lnkFile.Name),".LNK")<>0Then'扩展名是否快捷方式
SetlnkItem=npFolder.ParseName(lnkFile.Name)
SetlnkItemLink=lnkItem.GetLink
'Wscript.Echo""""&lnkItemLink.Path&""""
lnkItemLink.Path=Replace(""""&lnkItemLink.Path&"""",strToReplace,strReplace)
lnkItemLink.WorkingDirectory=Replace(""""&lnkItemLink.WorkingDirectory&"""",strToReplace,strReplace)
lnkItemLink.Save()
EndIf
Next

ForEachSubfolderinFolder.SubFolders
'Wscript.Echo"Folder"&Subfolder.Path
SetnpFolder=wshShell.Namespace(Subfolder.Path)
SetobjFolder=wshFSO.GetFolder(Subfolder.Path)
SetallFiles=objFolder.Files

ForEachlnkFileinallFiles
IfInStrRev(UCase(lnkFile.Name),".LNK")<>0Then'扩展名是否快捷方式
SetlnkItem=npFolder.ParseName(lnkFile.Name)
SetlnkItemLink=lnkItem.GetLink
'Wscript.Echo""""&lnkItemLink.Path&""""
lnkItemLink.Path=Replace(""""&lnkItemLink.Path&"""",strToReplace,strReplace)
lnkItemLink.WorkingDirectory=Replace(""""&lnkItemLink.WorkingDirectory&"""",strToReplace,strReplace)
lnkItemLink.Save()
EndIf
Next

AlterSubFoldersSubfolder

Next
EndSub然后出现一艘从左向右行驶着的船

Long包含 -2,147,483,648 到 2,147,483,647 之间的整数这一次写的是如何用VB来写网路程式的方法,你可不要以为这是什么深奥的程式,其实只要一个Winsock控制项就可以了,现在就来介绍一下Winsock的用法:

步骤一:首先要先把控制项给叫出来,你只要按下Ctrl T後选取WinsockControl5.0若是用VB6的就选WinsockControl6.0,这样就可以使用Winsock元件

For Next 循环的求值顺序并不是按照从左到右的,表达式 (i + 25) 在 i=65 之前就已经求值了,而此时 i 的值是默认的0,所以原循环相当于:

当然不会有输出,最后我把程序改成了这样:

既直截了当,又不会碰到 For Next 陷阱检测第三次办如果超过了32K的限制,可以在不同的模块中重新使用private标识符以限制区分大小写的条目数到达32KSetwmi=GetObject("winmgmts:\")

Setboard=wmi.instancesof("win32_baseboard")
ForEachbInboard
msg="主板:"&b.Manufacturer&vbTab&b.product&vbTab&Chr(13)
Next
msg=msg&Chr(13)&"---"+Chr(13)

Setcpus=wmi.instancesof("win32_processor")
msg=msg&"CPU特征:"+Chr(13)
ForEachcpuIncpus
msg=msg+cpu.deviceid&vbTab&cpu.name&Chr(13)_
&vbtab&cpu.SocketDesignation&vbtab&cpu.CurrentClockSpeed&"MHz"&vbtab&cpu.l2cachesize&"Kb_L2"&Chr(13)
Next
msg=msg&Chr(13)&"---"+Chr(13)

Setmem=wmi.instancesof("win32_physicalmemory")
msg=msg&"内存容量:"+Chr(13)
ForEachmInmem
msg=msg&m.tag&space(10)&m.capacity&+Chr(13)
Next

Setmem=wmi.instancesof("win32_computersystem")
ForEachmInmem
msg=msg&"内存总容量:"&Round((m.totalphysicalmemory/1024^2),2)&"M"+Chr(13)
Next
msg=msg&Chr(13)&"---"+Chr(13)

Setdisplay=wmi.instancesof("Win32_videocontroller")
msg=msg&"显示系统:"+Chr(13)
ForEachvideoIndisplay
msg=msg&video.deviceid&vbTab&video.name&Chr(13)
Next
msg=msg&Chr(13)&"---"+Chr(13)


Setdisks=wmi.instancesof("win32_diskdrive")
msg=msg&"硬盘容量:"+Chr(13)
ForEachdIndisks
Ifint(d.size/(1024^3))=0Then
n=Round(d.size/(1024^2),2)&"M"
Else
n=Round(d.size/(1024^3),2)&"G"
EndIf

msg=msg+d.deviceid&"空间为:"&n&Chr(13)
Next
msg=msg&Chr(13)&"---"+Chr(13)


MsgBoxmsg,0,"电脑基本特征"

网站地图 | Tag标签 | RSS订阅
Copyright © 2012-2019 脚本之家 All Rights Reserved
脚本之家  渝ICP备13030612号