2

FSO.DeleteFileを使用してファイルを削除しようとすると、「エラー70許可が拒否されました」というメッセージが表示されます。Killコマンドを使用しようとすると、「エラー75パス/ファイルアクセスエラー」が発生します。ローカルドライブではなくネットワークドライブ上にありますが、フォルダに対する読み取り/書き込み権限があります。

これが私のコードです:

Private Sub DeleteFileButton_Click()
On Error GoTo Err_DeleteFileButton_Click

    Dim FileLocation As String
    Dim strSQL As String
    FileLocation = DLookup("AttachmentLink", "dbo_tbl208Attachments", "ATID = " & Me.lstFiles.Column(1))
    strSQL = "DELETE FROM dbo_tbl208Attachments WHERE ATID = " & Me.lstFiles.Column(1)
    With New Scripting.FileSystemObject
        .DeleteFile FileLocation
End With
    'Kill FileLocation
    CurrentDb.Execute strSQL, dbFailOnError
    MsgBox "File has been deleted"

Exit_DeleteFileButton_Click:
    Exit Sub

Err_DeleteFileButton_Click:
        MsgBox Err.Number & " - " & Err.Description
        Resume Exit_DeleteFileButton_Click
End Sub
4

1 に答える 1

2

私は前にこれに遭遇しました。削除しようとしたファイルが非表示になりました。最初に隠しファイルを再表示せずに、プログラムで隠しファイルを削除することはできません。ファイルを強制終了する前に、このサブをコードに追加してみてください。

Sub unhideFile(filename as string)
    If Len(Dir$(filename, vbHidden))>0 then
        SetAttr filename, vbNormal
    End If
End Sub
于 2014-01-22T13:13:09.043 に答える