私は2つのExcelシートを使用してそれらを開くことができます。 3 cmdが使用されます。cmdを使用して特定の順序でExcelファイルを起動する方法は?
1つは、sheet1(OPENEXCEL1.bat)を呼び出します。
"D:\APPS\Microsoft Office\Office14\excel.exe" /e "C:\Users\Desktop\Sheet1.xlsx.
2番目のシート(OPENEXCEL2.bat)が呼び出されます。
"D:\APPS\Microsoft Office\Office12\excel.exe" /e "C:\Users\Desktop\Sheet2.xlsx.
3番目のコマンドは、前の2つのcmdを呼び出すマスタとして機能します。現在、2枚のExcelシートは、シート1からデータを取得シート2 VBAを介して接続されている
start cmd /k call "OPENEXCEL1.bat"
start cmd /k call "OPENEXCEL2.bat"
。 sheet1がsheet2の前に最初に開くと、データ転送は正常です。しかし、sheet1がsheet1の前に開くと、エラーが発生します。
私はこのcmdを使用したとき、Excelシートの開いている順番が異なることに気付きました。シート1が最初に開いて問題にならないことがある、あるいは時には先に述べたように問題が発生することがあります。
私はcmdを初めて使うことを考慮して、cmd1に1を開いてからsheet2に進めたいとcmdに伝えるコマンドがありますか?
でしょう。 2つの 'start'コマンドの間に' timeout 5'を使います。これは、Excelに2番目のものが要求される前に最初のものを開く時間を与えます。 (私は非常に長い5秒の音を知っていますが、あなたは確かに安全な側にとどまりたいです。)ただ好奇心から:1つではなく3つのバッチファイルを使うのはなぜですか?そしてなぜ/ k?そしてなぜ単に「C:\ Users \ Desktop \ Sheet1.xlsx」を開くだけではないのですか? – Stephan
bcoz 2のExcelファイルは異なるバージョンのExcelを使用しています。異なるインスタンスで使用し、それぞれExcel 07と10を使用します。私は両方を1つのcmdに入れようとしたとき、常にデフォルトの07になってしまいました。それが私が分割した理由です。 – hjh93
タイムアウトも機能します。ありがとう – hjh93