レポートをファイルに保存VIを使用した LabVIEW 実行可能ファイルでクラッシュが発生する

更新しました Jan 9, 2024

使用製品

ソフトウェア

  • LabVIEW Report Generation Toolkit
  • LabVIEW

問題

レポート生成ツールキットの「レポートをファイルに保存」VIを使用する実行可能ファイルを作成しました。これを別のコンピューターで実行すると、Excelを開いた後にクラッシュします。クラッシュしないようにするにはどうすればよいですか?

解決策

クラッシュの原因としては、追加パラメータを追加した ActiveX API への変更が考えられます。

2016年後半頃、MicrosoftはActiveX APIを更新し、これらの変更はバージョン1609でMicrosoft Office 365のユーザーに自動的にプッシュされました。WorkIdentityという追加のパラメーターがActiveX関数呼び出しSaveAsに追加されました。これは、ExcelWorkbookメソッドです。使用しているバージョンのExcelにWorkIdentityパラメーターがある場合、[レポートをファイルに保存]を使用して作成した実行可能ファイルは、パラメーターがない古いバージョンのExcelと下位互換性がありません。
 Excelの更新ステータス  Excelバージョン  WorkIdentityパラメーター? 
 更新されていない 1609より前 存在しない
 更新されている 1609以降 存在する
 
  1. 任意の Office アプリケーションを開き、  [ファイル] » [アカウント] に移動します。
  2. 画面の右側の [ Office 更新プログラム] カテゴリで Office のバージョンとビルドを確認します。
    • バージョン 1609 以降のコンピュータ上でビルドされた実行可能ファイルはバージョン 1609 以降のコンピュータ上でのみ実行されます。
    • 古いバージョンの Excel を使用するコンピューター上でビルドされた実行可能ファイルは、バージョン 1609 以降のコンピューターでも引き続き実行できます。
原則として、実行可能ファイルを展開するときは、開発コンピュータとターゲット コンピュータで同じソフトウェア バージョンを使用することをお勧めします。

すべてのターゲットが Excel の最新バージョンを実行していることを確認できない場合、回避策として、古い Excel バージョンがインストールされているコンピューター上の PPL に SaveAs Invoke ノードを構築することができます。PPL では、  WorkIdentityパラメーターが含まれていないにもかかわらず、SaveAs Invoke ノードは新しい Excel を搭載したマシンでも引き続き動作します。

追加情報

クラッシュには他の理由も考えられます。
  • 使用されているバージョンのレポート生成ツールキットとインストールされている Office の間の互換性を確認します。互換性の詳細については Report Generation Toolkit and Microsoft Office and LabVIEW Compatibility で確認できます。
  • 実行可能ファイルを作成した開発システムのビット数を満たさないランタイムでアプリケーションを実行すると、クラッシュが発生することもあります。実行可能ファイルがビルドされたときと同じビット数のランタイム環境で実行可能ファイルを実行していることを確認してください(32ビットのLabVIEW-Run-Timeでは32ビットの実行可能ファイル、64ビットのLabVIEW-Run-Timeでは64ビットの実行可能ファイル)。