小生想用WINCC用VB与excel进行通讯,用EXCEL来记录一些归档数据,
以方便查看.(个人认为这种通讯方式,也是不错的.)
小生使用的EXCEL文件名为变量名,但通讯完毕时,会出现一下三个对话框,
之前有使用固定的EXCEL文件(非变量名),进行记录时,没有出过这种情况.
望使用过VB来和EXCEL通讯的前辈们指教一下,如何才能克服这三个对话框的弹出呢:
程序如下:
Dim AA1
Set AA1=HMIRuntime.Tags("SP")
AA1.Read
Dim i
Dim j
Dim A1
Set A1=HMIRuntime.Tags("A1")
A1.Read
Dim fy ''为系统时间
Dim fm
Dim fd
fy=Year(Date)
fm=Month(Date)
fd=Day(Date)
Dim xlApp ''定义xlapp为对象
Set xlApp = CreateObject("Excel.Application") ''创建excel.application对象
Dim xlbook
Set xlbook = xlApp.Workbooks.Open("e:\\WINCC\"&fy&"\"&fm&"\"&fd&".xls")
''以今天算为,打开的文件为E:\\WINCC\2007\12\1.XLS,其中2007\12\1为系统时间的年份,月份和Day号,这个文件也是在自动新建的;
''如使用非变量的文件名,就不会出现对话框,如"e:\\wincc\1.xls"
Dim xlsheet
Set xlsheet = xlbook.Worksheets(1) ''定义并打开报表所在的工作簿,这里为worksheets(1);
AA1.Value=AA1.Value+1 ''记录写入的行号的
i=AA1.Value
AA1.Write
xlsheet.Cells(i,1) = A1.Value ''是一个数组循环,这里只简写了一个
For j=1 To 1000
Next
xlbook.Save
For j=1 To 1000
Next
xlbook.Save
For j=1 To 1000
Next
xlApp.Quit
自动保存时依次有如下三个对话框:
1.是否保存对“10.xls“的更改?
2.“10.xls“文件已经存在,是否替换原有文件?
3.“10.xls“可能含有与文本文件(指表符分割)不兼容的功能,是否保持
工作簿的这种格式?
·要保持这种格式,去掉所有不兼容的功能,请单击"是"。
·如果要保留这些功能,请单击"否",然后再用最新的EXCEL格式保存一份副本.
·如想知道哪些内容会丢失,请单击"帮助".
如何克服三个对话框,请高手指教.
最佳答案
在打开工作簿后,加上一句:
xlApp.DisplayAlerts = False
就可以屏蔽对话框的出现。当然,屏蔽后,系统都是按默认方式处理的。
提问者对于答案的评价:
已经测试通过,谢谢大哥指教!
如有问题在向你请教啊.
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc278404.html