1

1 つのフォルダーに Excel シートがあり、次のコードを使用して、このフォルダー内の特定のファイルを 1 つのファイルにマージしようとしています。

Private Sub CommandButton1_Click()
  Dim RET As Variant
  RET = Shell("cmd.exe copy  files1.txt + file2.txt out.txt", 0)
End Sub

RET の戻り値として 1560 を取得します。デバッグ中にエラーは発生しませんが、「out.txt」も発生しません。コードの何が問題になっていますか? ありがとう

4

2 に答える 2

2

cmd 引数とパスに /C が含まれていないと思います。

Private Sub CommandButton1_Click()
  Dim RET As Variant
  RET = Shell("cmd.exe /C copy  C:\Data\files1.txt + C:\Data\file2.txt C:\Data\out.txt", 0)
End Sub

0 以外の戻り値は、プロセスが開始されたことを示します (これは実際のプロセス ID です)。

于 2012-11-08T20:19:46.523 に答える