2017-12-07 33 views
0

ファイルがあるかどうかを確認する必要があります。ファイルが存在する場合は、それを更新バージョンに置き換えます。ファイルが削除されない場合は、ファイルを個人個人のドライブにパスファイルをコピーしてvbaにコピーして貼り付けます

マイコード:

起きること
Dim FileExistsbol As Boolean 
Dim stFileName As String 
Dim CopyFrom As String 
Dim CopyTo As String 

stFileName = "H:\Test File.txt" 
stFileName = Trim(stFileName) 
FileExistsbol = dir(stFileName) <> vbNullString 

If FileExistsbol Then 
Kill stFileName 
CopyFrom = "J:\Test File.txt" 
CopyTo = "H:\" 
FileSystemObject.CopyFile CopyFrom, CopyTo 
Else 
CopyFrom = "J:\Test File.txt" 
CopyTo = "H:\" 
FileSystemObject.CopyFile CopyFrom, CopyTo 
End If 

:コードが実行されると予想されるように、既存のファイルを削除します

を、それのアプリ耳がコピーアンドペーストのパートで失敗することがあります。

エラー:

に来るのデバッグは、次のとおりです。

Object Required

+0

私はこれをしばらくしていません...まずFileSystemObjectオブジェクトを作成する必要がありますか? – wazz

+0

そんなにシンプルで - うまくいきました、ありがとうございました。 – dmorgan20

+0

問題ありません。以下にいくつかのコードを追加します。 – wazz

答えて

1

ベアの骨:

このスタックオーバーフローの答えで10
1

あなたはどのラインがエラーを投げていると述べていないが、私はあなたがインスタンス化しているように見えるしていないことに気づきました新しいFileSystemObjectオブジェクトは:

dim fso as Object 
set fso=CreateObject("Scripting.FileSystemObject") 

は、あなたのファイルをコピーするFSO参照を使用

fso.CopyFile CopyFrom, CopyTo 

あなたはこれが詳細でも、事前バインディングを使用して直接Microsoftスクリプトランタイムを参照してCreateObject

の使用を避けることができScripting.FileSystemObject

のレジストリを調べるために、「レイトバインディング」を使用し、上記の方法 https://stackoverflow.com/a/3236348/491557

関連する問題