LabVIEW可执行崩溃在保存报表至文件VI

更新 Oct 7, 2021

适用于

软件

  • LabVIEW Report Generation Toolkit
  • LabVIEW

问题详述

我创建了一个可执行文件,该可执行文件使用报表生成工具包中的保存报表至文件VI 。当我将其移至另一台电脑时,在打开Excel后它崩溃了。我该如何纠正此问题?

解决方案

首先,检查所使用的报表生成工具包版本与已安装的Office套件之间的兼容性。你可以从这里找到关于兼容性的细节: 报表生成工具包与Microsoft Office和LabVIEW的兼容性。请注意,当前仅支持32位版本的Microsoft Office。

执行应用程序的RunTime在不符合创建可执行文件的开发系统时,崩溃也可能出现。请确保在运行环境的RunTime与生成可执行文件系统相同情况下来运行该可执行文件(32位可执行文件在32位LabVIEW RunTime运行,64位可执行文件在64位LabVIEW RunTime 运行)。

如果软件版本兼容且位数相同,请阅读以下内容:将报表生成工具包中的报表保存至文件VI内置到可执行文件中并部署到另一台电脑时,发现会导致崩溃。原因是开发电脑和部署电脑之间的Microsoft Office版本不同。此不兼容是对于Microsoft Office 2016执行的更新有关。如检查您的Microsoft Office版本,请执行以下操作:
  1. 打开任何Office应用程序,然后转到File » Account。
  2. 在屏幕右侧的Office Updates类别下,检查Office的版本
  • 使用版本为1609或更新的电脑上构建的可执行文件将只能在使用版本1609或更高的电脑上运行。
  • 使用旧版Excel的电脑上构建的可执行文件仍能够在具有1609版或更高版本的电脑上运行。
如果您拥有365版本1609或更高的Excel,则保存报表至文件VI将断开,必须通过重新链接调用SaveAs的Workbook调用节点来进行修复。您可以按照LabVIEW报告生成工具包VI断开中概述的步骤来执行此操作。

建议在部署可执行文件时,在开发计算机和目标计算机上使用完全相同的软件。

相关信息

Microsoft在2016年末的时候更新了ActiveX API,并且这些更改被自动推送到版本1609中的Microsoft Office 365用户。名为WorkIdentity的额外参数已添加到ActiveX函数调用SaveAs,这是Excel Workbook方法。如果您的Excel版本上具有WorkIdentity参数,则使用报表保存至文件VI构建的可执行文件将与没有该参数的旧版本的Excel无法向后兼容。
这些API更改未提供给Office非365版本客户端。
Excel更新状态观察的Excel版本WorkIdentity参数?
未更新早于1609年没有
更新1609或更高版本