wincc与EXCEL通讯是弹出三个对话框,如何解决??? 点击:432 | 回复:1



miak888

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2006年2月28日
发表于:2007-12-10 16:37:00
楼主
小生想用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格式保存一份副本.
 ·如想知道哪些内容会丢失,请单击"帮助".

如何克服三个对话框,请高手指教.



miak888

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2006年2月28日
发表于:2007-12-11 10:16:00
1楼
已经解决拉,只是加一句:
xlApp.DisplayAlerts = False
是一位西门子论坛上的前辈解决的.

热门招聘
相关主题

官方公众号

智造工程师