Microsoft Access Club >Access一日一見 >このページ >次頁 <前項  サイト内検索


Accessファイルを削除する - Microsoft Scripting Runtime : 一日一見



Accessファイルに限らず、ファイルを削除するには、Microsoft Scripting Runtime ライブラリ DeleteFile メソッド を利用することで簡単に実現できます。 Accessプロシージャから実行する場合は、実行しているAccessファイル自体を削除することはできませんのでご注意下さい。

参照設定

Microsoft Scripting Runtime ライブラリ を利用するには、参照設定ダイアログでこれらライブラリを有効にする必要があります。Accessファイルを新規作成した時には、これらライブラリが無効になっています。設定手順は、以下のとおりです。

  1. VBE画面を開きます。
  2. 「参照設定」ダイアログを開き、Microsoft Scripting Runtime ライブラリ の参照設定が有効になっていることを確認します。

・参照設定ライブラリ設定

サンプルプロシージャの作成

何れでも利用できるようにSubプロシージャを作成します。

Sub MyFileDel()

    Dim objFSO As FileSystemObject
    Dim strFileNamePass As String
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    strFileNamePass = "C:\sample.mdb"
    
    If vbOK = MsgBox(strFileNamePass & " を削除しますか?", _
                                vbExclamation + vbOKCancel) Then
        objFSO.DeleteFile strFileNamePass
    End If

    Set objFSO = Nothing
    
End Sub
実行結果

このプロシージャを実行すると、指定したファイルを自在に削除することができます。

  • 指定したファイルが存在しない場合は、エラーが発生します。
  • 削除するファイルは所在パスとファイル名を記述しなくてはいけません。ファイル名のみを指定した場合は、「既定のフォルダー」のパスが自動的に付与されて実行されます。

応用

「ファイルを開く機能」と組み合わせて、ダイアログから削除対象ファイルを選択することもできます。ファイルを開く機能はAccess自体には備わっていませんので、他アプリケーションの機能を借用します。今回は、Excelに備わっているこれら機能をAccess側から利用できるように設定します。

事前準備
  1. Excel Object Library を以下のように「参照設定」ダイアログから有効にします。

  1. サンプル図は、Excel2003の場合です。
ファイルを開くプロシージャの作成

以下のプロシージャを作成します。

Sub MyFileDel()

    Dim objFSO As FileSystemObject 'Excelのオブジェクト変数を宣言します。
    Dim objXLS As New Excel.Application
    Dim vargetfile As Variant

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    'ファイルを開くダイアログを表示します。
    'ExcelのGetOpenFileNameメソッドを実行します。
    vargetfile = objXLS.GetOpenFilename _
        	("ファイル選択 (*.mdb; *.txt),*.mdb;*.txt", , "ファイル選択")
    
    If vargetfile = False Then '選択しなかった場合、FALSEが返されます。
        MsgBox "必要事項が空白のため、処理を中止します。"
        Exit Sub
    Else
        If vbOK = MsgBox(vargetfile & " を削除しますか?", _
                                		vbExclamation + vbOKCancel) Then
            objFSO.DeleteFile vargetfile
        End If
    End If

    Set objFSO = Nothing
    Set objXLS = Nothing
    
End Sub
実行結果
  1. このプロシージャを実行すると、ファイル選択ダイアログが表示されます。

  1. C:\仕様\sample.mdbを選択します。

  2. 選択したファイルが削除されます。

このようにファイル選択機能を用いると、任意のファイルをドシドシ削除することができます。

関連ページ

2006/04/15

ページの先頭へ 前ページへ戻る

 


Accessファイルを削除する - Microsoft Scripting Runtime : 一日一見


-Microsoft Access Club-

注目のモンスター専用サーバーからお買い得プランまで幅広くそろえています。cPanel、PLESK、WEBMINまでお任せ下さい。
注目のモンスター専用サーバーからお買い得プランまで幅広い。
cPanel、PLESK、WEBMINまでお任せ下さい。