|
>FileCopy ステートメントじゃダメなんですかね。
パス名が長いとFileCopy ステートメントはエラーになるので
FileSystemObjectのCopyFile、もしくはCopyメソッドを
使用したほうがいいと思います。
また、
> ファイルオープン = ファイルオープン.Items().Item().Path & "\"
は感心しません。ファイルオープンはオブジェクト型(Shell32.Folder)と
String型になりますので、Variant型変数以外で宣言されていると
エラーになります。
どうせやるなら、
Dim ファイルオープン As Object
Dim コピー先ファイル名 As String
コピー先ファイル名 = ファイルオープン.Items().Item().Path & "\" _
& "TEST.txt"
としたほうがいいと思います。
Dosコマンドを実行するときはパス名に半角スペースが含まれる場合を考慮して、
パス名全体をダブルコーテーションで囲っておいたほうがいいです。
あと、Shell関数は別のプロセスとして動作するため、
Shell関数を呼び出したものの終了後、
何かを実行する場合には、プロセスが終了するまで
待機するようプログラミングする必要があります。
これを避けるには、WSHのRUNメソッドを使用して
呼び出す方法があります。
こちらなら、引数指定で終了するまでプロシジャーの実行を
待機させることができます。
|
|