15

Excel 2013 の Inquire アドインから、新しいスプレッドシート比較機能を VBA スクリプトに組み込んでみました。

計画では、定義済みの名前を持つ 2 つのスプレッドシート間の比較を自動化し、すべての違いを新しいスプレッドシートとしてエクスポートするマクロを用意する予定です。

今日まで成功せずに。

これが私がこれまでに試したことです:

  1. 通常、一部の Excel 機能を自動化する方法を学習するには、マクロの記録を使用します。
  2. それが失敗した場合は、追加可能な参照のリストを調べて、明らかな何かが欠けているかどうかを確認します。

この場合はどちらも失敗しています。マクロを記録したとき、スプレッドシート比較に関連するコードは表示されませんでした (セル選択などの周辺機能のみが表示されました)。また、追加可能な参照はどれも、Spreadsheet Compare のようには見えませんでした。

では、VBA から Excel の 2013 スプレッドシート比較のスクリプトを作成するにはどうすればよいでしょうか。

4

3 に答える 3

3

.NET アプリケーションからスプレッドシート比較ツールを自動化するための同様の質問を開きましたが、コマンド ラインから実行する以外の方法はまだ見つかりませんでした。

これは、VBA アドインから実行できます。必要なのは、実行可能ファイル SPREADSHEETCOMPARE.EXE (通常は C:\Program Files (x86)\Microsoft Office\Office15\DCF にあります) を見つけて、命令ファイルを入力引数としてコマンド ラインで実行することだけです。

この命令ファイルは、比較する 2 つの Excel ファイル パスが別々の行に記述された ASCII ファイルである必要があります。

于 2014-06-24T08:11:16.503 に答える
1

できません。

この場合のように、VBA はアドインをカバーしません。

Spreadsheet compare は、Microsoft に飲み込まれたサード パーティのプラグインです。

スクリプト可能な比較が必要な場合は、セルごと、行ごとに実行するものを見つけることができます...ネット上のようなものです。

于 2012-12-17T13:59:44.363 に答える
0
  1. runCompare.cmd ファイルを作成します。

    REM Execute from command line spreadsheetcompare.exe 
    REM 
    cd C:\Program Files (x86)\Microsoft Office 2013\Office15\DCF
    spreadsheetcompare.exe  C:\reportNames.txt
    
  2. C:\reportNames.txt で、比較する .xlsx ファイルを同じ行に保存します。

    C:\fileA.xlsx C:\fileB.xlsx
    
  3. runCompare.cmd を実行します。

于 2016-03-10T00:17:07.577 に答える