vba与vbs
发布网友
发布时间:2022-05-23 06:49
我来回答
共1个回答
热心网友
时间:2023-10-16 00:00
Sub exceldata2fmldata()
'将EXCEL工作表数据写入FMLDATA文件
Dim sht, fmldataPath, fileName
Dim i, FileNumber
Dim dzhrq, value 'DZH时间,指标值(VBA的Long,Single为32位)
Dim dt,fso
Dim xlApp
Dim xlBook
Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False '不显示对话框
Set xlBook = xlApp.Workbooks.Open("c:\1.xls")
Set sht = xlBook.Worksheets("Sheet1") '假设要写入的数据在sheet1
fmldataPath = "d:\dzh2\fmldata\" 'FMLDATA所在路径
fileName = "000001.12345.day" '文件名
set fso=wscript.createobject("Scripting.FileSystemObject")
if fso.fileexists(filename) then kill filaname
fso.CreateTextFile fileName
fso.type=1 '数据流类型设为字节'
fso.open
fso.loadfromfile filename '打开文件'
fso.position=0 '设置文件指针初始位置'
i = 2 '设数据从第二行开始;第1列为日期,第2列为指标值
dt = sht.Cells(i, 1) '取出日期
Do While IsDate(dt) And dt <> TimeSerial(0, 0, 0)
dzhrq = DateDiff("s", DateSerial(1970, 1, 1), dt) '转为DZH日期:与1970.1.1间隔秒数
fso.write dzhrq '写入数据'
value = sht.Cells(i, 2) '取出指标值
fso.write value
i = i + 1
dt = sht.Cells(i, 1) '取出日期
Loop
fso.savetofile filename,2 '覆盖保存'
fso.close '关闭文件
xlBook.Close (True) '关闭工作簿 这里的True表示退出时保存修改
xlApp.quit '结束EXCEL对象
Set xlApp = Nothing '释放xlApp对象
End Sub