西门子(中国)有限公司(SLC)

注册 登录

  签到   每日登录:+1西币 +1经验值我的支持中心

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。

技术论坛


 VBS写数据到EXCEL的稳定脚本程序,在项目上用过此脚本

返回主题列表
作者 主题
西北望射天狼
游民

经验值:80
发帖数:9
精华帖:2
楼主    2010-01-28 19:13:36
主题:VBS写数据到EXCEL的稳定脚本程序,在项目上用过此脚本 精华帖 
我用VBS写的往EXCEL里面写数据的脚本程序奉献给大家 ,直接建立变量写就可以了,日期和时间脚本里面自带,先在D盘建立一个book1的EXCEL文件,在这个文件的SHEEL1里面的第一行合并单元格后写上表格的标题(如XX日报表)就可以拉,把此脚本写在VBS全局脚本里面并设置好时间触发器,就可以自动建立以日期命名的EXCEL文件,并自动向里面写数据。
Dim pExcel,sj
Dim shijian ,wendu,yali,liuliang
Dim i,FileName
Dim filena,fso
sj=Date()

shijian=Time
shijian=Mid(shijian,1,8)
FileName="d:\"&sj&".xls"
Set pExcel = CreateObject("Excel.Application")
Set fso = CreateObject("s cripting.FileSystemObject")
pExcel.Visible = 0
If fso.FileExists(FileName)=False Then
pExcel.Workbooks.Open"D:\book1.xls"
pExcel.ActiveWorkbook.SaveAs FileName
End If


pExcel.Workbooks.Open FileName
i=i+1
i=pExcel.WorkSheets("sheet1").Columns(1).Find("").Row
pExcel.worksheets ("sheet1").Cells(i, 1).VAlue =shijian
pExcel.worksheets ("sheet1").Cells(i, 2).VAlue = HMIRuntime.Tags("wendu").read
pExcel.worksheets ("sheet1").Cells(i, 3).VAlue = HMIRuntime.Tags("yali").read
pExcel.worksheets ("sheet1").Cells(i, 4).VAlue = HMIRuntime.Tags("liuliang").read

pExcel.ActiveWorkbook.Save()

pExcel.Workbooks.Close()
pExcel.Quit()
Lyn
侠士

经验值:1453
发帖数:785
精华帖:2
5楼    2010-06-07 09:21:52
精华帖  主题:回复:VBS写数据到EXCEL的稳定脚本程序,在项目上用过此脚本
谢谢楼主分享,关于这个最近比较郁闷,机器上本来也是通过WINCC往EXCEL写数据的,但OFFICE软件要钱,客户要求所有软件都是正版,公司又不想花钱,所以改成往文本文档里写,这里也分享一下,我用了VB的一个控件,COMMONDIALOG,可以自己创立文件,这个比较好,在自己电脑上用上这控件后,到机器上的电脑没有装VB也可以用,

Dim fso,f
Const ForReading = 1, ForWriting = 2, ForAppending = 8
ScreenItems("CommonDialog1").FileName=""
ScreenItems("CommonDialog1").Filter="txt File(*.txt)*.txt"
ScreenItems("CommonDialog1").ShowOpen
If ScreenItems("CommonDialog1").FileName="" Then
Exit Sub
End If
Set fso=CreateObject("s cripting.filesystemobject")
If (fso.FileExists (ScreenItems("CommonDialog1").FileName))Then
If MsgBox("This file name has already exist,replace it?", vbInformation + vbYesNo, "Query Information") = vbNo Then
Exit Sub
End If
End If
Set f = fso.OpenTextFile(ScreenItems("CommonDialog1").FileName, ForWriting, True)

f.WriteLine "在写的内容,一条语句一行"
f.close
您收到0封站内信:
×
×