如何在wincc调用excel中的宏

rt

最佳答案

C脚本:
 void Excel() 
 { 
 __object* pExcel = NULL; 
 __object* pWorkbooks = NULL; 
 __object* pActiveWorkbook = NULL; 

 pExcel = __object_create("Excel.Application.8");   //8 for Excel 97 
 //    pExcel = __object_create("Excel.Application.9");  // 9 for Excel 2k
 //    pExcel = __object_create("Excel.Application.10");  //10 for Excel XP 
 //    pExcel = __object_create("Excel.Application.11");  //11 for Excel 2k3 

 if(pExcel) { 
 pExcel->Visible = 1; 
 pWorkbooks = pExcel->Workbooks; 
 pWorkbooks ->Open ("F:\\WinCCProjects\\Excel_TST.xls");

 pExcel->Run("TestMacro");

 pActiveWorkbook = pExcel->ActiveWorkbook;
 pActiveWorkbook->Save();
 __object_delete(pActiveWorkbook); 

 pWorkbooks->Close();
 __object_delete(pWorkbooks); 

 pExcel->Quit();
 __object_delete(pExcel); 
 } 
 }

 VBS脚本:
 Dim xExcel,xWorkbooks,xActiveWorkbook

 Set xExcel = CreateObject("Excel.Application")

 if xExcel then 
 xExcel.Visible = True
 Set xWorkbooks = xExcel.Workbooks.Open("F:\WinCCProjects\Excel_TST.xls")
 xExcel.Run "Sheet1.TestFunc"

 xActiveWorkbook = xExcel.ActiveWorkbook
 xActiveWorkbook.Save
 set xActiveWorkbook = Nothing

 xWorkbooks.Close
 set xWorkbooks = Nothing

 xExcel.Quit
 set xExcel = Nothing

 end_if

提问者对于答案的评价:
大家都答得很好,可没办法,只能挑一个,那我就随便选一个吧。
 谢谢大家!!!中秋快乐!!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc276272.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午12:16
下一篇 2019年6月11日 下午12:16

相关推荐

  • WinccFlexiblde 分画面不同权限

    如何实现WinccFlexiblde 如何实现不同画面设定不同的权限,比如操作画面操作员可以操作,参数设置画面操作员只能监视但不能操作,报警和记录画面操作员可以监视但不能…

    SIMATIC WinCC 2019年6月11日
  • 关于数据库更新的脚本问题

    在这里学了很多东西,这个脚本搞不定,希望万版主和各路高手帮我看看那里出错了,,谢谢!!! 输入变量B的值,如果查数据库有相同的值,就把变量A的值送入字段AUA中&nbsp…

    SIMATIC WinCC 2019年6月11日
  • 5个CPU226和WINCC6.0

    现有5个CPU226,上位机安装WINCC6.0,想实现数据的读取,问:1.上位机能否同步读取这5个200PLC的数据?2.如果可以,通过什么协议,需要增加什么模块不,如EM277…

    SIMATIC WinCC 2019年6月11日
  • wincc c脚本中 #include "apdefap.h"到底是什么意思啊

    本人c语言水平低请大侠稍微说详细一点 最佳答案 #include "apdefap.h"是头文件。关于wincc  c脚本中&nb…

    SIMATIC WinCC 2019年6月10日
  • wincc与plc300通讯

    各位高手我想请教一下wincc7.4上位机与西门子plc300/400等通讯是否还需要安装其他的驱动或软件吗?我的电脑上只安装了wincc7.4,但是无法跟plc300通讯,请高手…

    SIMATIC WinCC 2020年11月1日
  • Wincc CRC校验

    如何用vb实现CRC(循环码)校验?  最佳答案 STEP7编写的不好找,VB编写的网上多的是,呵呵! Function CRC16(data()&n…

    SIMATIC WinCC 2019年6月11日
  • ipc作为触摸屏使用的方法

    IPC或电脑怎么样才能像hmi一样运行wincc执行文件呢 ,不用仿真的情况下 钻石用户推荐最佳答案 1、人机交互界面HMI(Human Machine Int…

    SIMATIC WinCC 2021年7月5日
  • 如何复位报警

    正常情况下DI点(I0.0)是高电平,表示设备及连接到设备的电缆没问题,当设备跳闸或者连接电缆断了(例如被老鼠咬断了,我厂的老鼠很多)如何让DI点为低电平时报警?在报警列表里如何设…

    SIMATIC WinCC 2019年6月11日
  • wincc v7.3 如何实现两个画面自动间隔轮回切换

    我现在做了两个画面,想实现两个画面间隔10分钟自动轮回切换,请问可以做到吗?求各位大师指点,谢谢! 最佳答案 wincc全局脚本,10分钟执行一次,脚本中将一个bool两取反:Se…

    SIMATIC WinCC 2021年7月5日
  • 记录每小时产量问题

    我想用指针记录每天每小时的产量,如果一个个赋值的话太繁琐。不知道应该怎么写,希望大神可以帮助下。另外假如我早上8点上班,我希望中午之前清空前一天早8点到今天早8点的数据。谢谢。 最…

    SIMATIC WinCC 2021年7月5日