2016-08-18 17 views
-2

私はVBで初めてです。すべてのExcelファイルを特定のフォルダから削除したいと考えています。VBでフォルダ内のすべてのExcelファイルを削除する

私が望んでいたように動作していない私のコードは次の場合に下:

Dim fs 
Set fs = CreateObject("Scripting.FileSystemObject") 

If fs.FileExists("C:\Users\Desktop\Test\Daily_Reports\*.xlsx") Then 
    fs.Deletefile "C:\Users\Desktop\Test\Daily_Reports\*.xlsx", true 
Else 
    MsgBox "No" 
End If 
+2

を使用することができます.NET。彼らは2つの全く異なるものです – Steve

+2

あなたの質問に無関係に見えるものをランダムにつかむのではなく、あなたの質問に実際に適用されるタグを使用してください。コーディングしている言語がわからない場合は、ファイルの削除などの破壊的な処理を行うコードを記述しないでください。 –

+0

ありがとう@Steveそのvb6! –

答えて

0

私の知る限りではfs.FileExistsは、単一のファイルが存在する場合は、ワイルドカードを使用することはできませんので、どうかをチェックします。

同じことを実現するには、VBA/VB6ネイティブ関数Dirを使用し、DeleteFileの代わりにネイティブ関数Killを使用できます。 (DeleteFileワイルドカードにも対応しますが、Killは、スクリプトオブジェクトを必要と回避できます。)

If Dir("C:\Users\Desktop\Test\Daily_Reports\*.xlsx") <> "" Then 
    Kill "C:\Users\Desktop\Test\Daily_Reports\*.xlsx" 
Else 
    MsgBox "No" 
End If 

あなたはVBScriptを使用している場合は、あなただけのこれはVBA(またはVB6)ではないVBで

Dim fs 
Set fs = CreateObject("Scripting.FileSystemObject") 
For Each File In fs.GetFolder("C:\Users\Desktop\Test\Daily_Reports").Files 
    If fs.GetExtensionName(File) = "xlsx" Then 
     fs.DeleteFile File 
    End If 
Next 
+0

あなたの助けてくれてありがとう...私はVBAでこれにできるようになりましたが、VBで同じことをするのに援助が必要です。これは、フォルダにExcelファイルがあるかどうかを確認したいのですが、 。 –

+0

VB6はメモリから(私が使ってからしばらく経ちました)、 'Kill'​​と' Dir'関数を持っています。 – YowE3K

+0

ありがとうございますが、エラーが表示されます。エラー:「タイプが一致しません:「Dir」」コード:800A000D Soure:Microsoft VBScriptランタイムエラー –

関連する問題