wincc 默认向excel默认写的数据存在excel的sheet1中,怎样向excel 的sheet2中写数据呢?
问题补充:
dim iDataRow
iDataRow = 0
do while not rs.eof
iDataRow = iDataRow +1
oSheet.Range("A"&cstr(iDataRow)).Value = 100 '"A"&cstr(iDataRow)用于指定不同的行号
rs.MoveNext
loop
你的答案我试了可以在sheet2中写数据,只是在上一个数据的下一行写的时候不行
请问一下 rs.eof中的 rs 在那个地方声明,具体是什么意思,由于刚学VBS,有好多不懂的地方,请多指教,谢谢.
最佳答案
DDE也是一种解决办法,现在用的人不多了吧。但仅限于数据交换,如欲实现报表之类的功能则DDE无能为力。
自WinCC 支持VBS后,向EXCEL写数据要方便的很多。你的问题其实就是以下两个问题吧?
1.数据要写入指定Sheet中
dim oExcel,oWorkBook,oSheet
set oExcel = CreateObject("Excel.Application")
set oWorkBook = oExcel.WorkBooks.Open("xxx.xls")
set oSheet = oWorkBook.Sheets("Sheet2") '此处指定表单名称
oSheet.Range("A1").Value = 100 '对指定表单进行操作
'.........
2.写入数据时,要能自动判断写入的位置(比如在上一个数据的下一行)
dim iDataRow
iDataRow = 0
do while not rs.eof
iDataRow = iDataRow +1
oSheet.Range("A"&cstr(iDataRow)).Value = 100 '"A"&cstr(iDataRow)用于指定不同的行号
rs.MoveNext
loop
补充;我只是用rs举了个例子,rs是ADODB.RECORDSET,你没有用数据库当然不行,哈哈;干脆用for算了;
dim iDataRow
for iDataRow =1 to 10
oSheet.Range("A"&cstr(iDataRow)).Value = 100 '"A"&cstr(iDataRow)用于指定不同的行号
NEXT
提问者对于答案的评价:
很好,谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc275784.html