Excel VBAのOpenDatabaseの仕組みについて
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2015年2月12日(木)13時19分 From: excelsara | 返事 削除 変更 |
ブックの保護部分が怪しいですね。 こちらの条件分岐はどのようにしていますか? ブックとシートの保護はProtectStructure プロパティとProtectWindows プロパティを利用します。 この2つで条件分岐してみてどうなるかチェックしてはどうですか? If Workbooks("Book1").ProtectStructure = True Then 処理内容 End if If Workbooks("Book1").ProtectWindows = True Then 処理内容 End if |
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 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降