CVI - 写Word文件的表格

在自动测试功能中,往往需要将最终结果写入测试细则文件(通常是word文件)。

而CVI自带的wordreport.c文件只有WordRpt_AddTable函数(添加表格),却没有获取已有表格句柄的函数。

通过查看WordRpt_AddTable函数的定义,发现其调用word2000.c的Word_TablesAddOld函数。在Word_TablesAddOld函数附近发现了Word_TablesItem函数,猜测就是获取已有表格句柄的底层函数。
 

1、在wordreport.c文件中添加WordRpt_GetTable函数

HRESULT CVIFUNC WordRpt_GetTable(CAObjHandle docHandle, int tableNum, CAObjHandle *tableHandle )
{
    HRESULT error = S_OK;  
    ERRORINFO errorInfo;
    CAObjHandle tablesHandleL = 0;  
    Word_GetProperty (docHandle, NULL, Word_DocumentTables,
                   CAVT_OBJHANDLE, &tablesHandleL);
    
    Word_TablesItem (tablesHandleL,  &errorInfo, tableNum, tableHandle);
                                 
    return error;                                
}

2、在WordOpera.c文件中添加WriteCell_Word函数

int WriteCell_Word(int tableNum, int rownum,int colnum,char* wstr)
{
    CAObjHandle tableHdl = 0;
    WordRpt_GetTable(_docHandle1,tableNum,&tableHdl);
    
    WordRpt_WriteToCell(tableHdl,rownum,colnum,wstr);
    
    return 0;
}

3、测试代码

int CVICALLBACK TestCB (int panel, int control, int event,
        void *callbackData, int eventData1, int eventData2)
{
    switch (event)
    {
        case EVENT_COMMIT:
            
           OpenFile_Word("D:\\test1.docx");
           
           WriteCell_Word(2,2,1,"你好ABC");//第2个表的第2行第1列
           
           CloseFile_Word();
  

            break;
    }
    return 0;
}

442dffc87d124f4891e274301c0e3580.png

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LabWindows CVI是一种强大的图形化编程软件,通常用于数据采集、仪器控制和自动化测试等领域。而西门子S7-1200是一种先进的工业自动化控制器,用于控制多种设备和系统。 要实现LabWindows CVI与西门子S7-1200之间的通讯,可以采用以下步骤: 1. 确定通讯协议:LabWindows CVI支持多种通讯协议,如Modbus、OPC等。确定S7-1200支持的通讯协议,并根据需要选择适合的协议。 2. 配置通讯参数:LabWindows CVI提供了一些函数和工具用于设置通讯参数,如IP地址、端口号等。根据S7-1200的网络配置和通讯协议的要求,进行适当的配置。 3. 建立连接:使用LabWindows CVI提供的库函数,通过网络连接与S7-1200建立通讯。通常需要提供S7-1200的IP地址和端口号。 4. 通讯数据交互:根据通讯协议的要求,使用LabWindows CVI提供的函数来读取和入S7-1200的数据。可以通过读取S7-1200的PLC变量值,或者设定S7-1200的输出状态等。 5. 断开连接:在通讯完成后,通过LabWindows CVI提供的函数断开与S7-1200的连接,释放资源。 在配置LabWindows CVI和S7-1200通讯时,需要了解LabWindows CVI的编程知识和S7-1200的通讯协议。可以参考相关的LabWindows CVI和S7-1200的文档和教程,以了解更多关于通讯配置和编程的细节。 综上所述,通过以上步骤和相关的LabWindows CVI和S7-1200的文档,可以成功实现LabWindows CVI与西门子S7-1200之间的通讯。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值