プログラム①で実行中に得られたデータをプログラム②を実行するためのコマンドボタンをクリックしたときに渡して実行できるようにしたいのですが、どのようにしたらよいですか?
また、プログラム①とプログラム②に同じファイル名や変数があっても正常に動きますか?
まずはじめに、異なる実行ファイルは、Windows上のメモリ領域が異なります。変数名が何であろうが問題がありません(普通の方法では参照もできません)。
そもそもコンパイル時に、変数名が同じままであることも、保証できないことです(VBのはあくまで中間コードにするだけなので、変数名はそのまま——という噂もありますが)。
> 同じファイル名
同じファイル名という表現ではよくわかりませんが、ハードディスクはすべてのプロセス(わからなければe-Wordsなどを引いてください)において当然共有のものなので、
同じファイル名で上書きしようとした場合は、当然テスト時とは違う結果になります。
さて、コマンドラインオプションとして指定すると言うことでかまわないのでしょうか?
ならば、Shell "(実行ファイル名) (コマンドラインオプション)"という形で文字列を指定してあげればいいです。
まあ、他のソフトでファイルパスを指定するときのことを考えてもらえれば…。