Excel VBAのOpenDatabaseの仕組みについて 削除
Message#1 2015年2月12日(木)09時17分 From: Excel未済 |
Excel VBAのOpenDatabaseの仕組みについて知りたいことがあります。 パスワードがかかっているExcelファイルの一覧を表示させるようなVBAコードを書いています。 その中でOpenDatabaseを実行する部分で必ず実行時エラーが発生してしまいます。 エラー部分を見てもどこがどう間違っているのかが分かりません。 エラーメッセー時は以下のようなものです。 実行時エラー'3274':外部テーブルのフォーマットが正しくありません。 どのように対策すればよろしいでしょうか? よろしくお願いします。 Microsoft dao 1.0 Object Library Public i As Long Sub Sample() Call FileCheck("C:\Sample") i = 0 End Sub Sub FileCheck(Path As String) Dim FSO As Object Dim Folder As Variant Dim File As Variant Dim db As DAO.Database Set FSO = CreateObject("Scripting.FileSystemObject") 'サブフォルダ検索後、Trueの場合は再起呼出をする For Each Folder In FSO.GetFolder(Path).SubFolders Call FileCheck(Folder.Path) Next Folder 'エクセルファイルの情報書き込み For Each File In FSO.GetFolder(Path).Files If InStr(File.Type, "Excel") > 0 Then i = i + 1 Worksheets("Sheet1").Cells(i, 1) = File.Path On Error Resume Next Set db = Workspaces(0).OpenDatabase(File.Path, False, False, "Excel 8.0") If Err.Number <> 0 Then Worksheets("Sheet1").Cells(i, 2) = "パスワード設置済み" db.Close On Error GoTo 0 Set db = Nothing End If Next File End Sub |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。