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

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com