プロが教えるわが家の防犯対策術!

Sub
Dim FileName As String
FileName = "D:\集計表.xls"
Dim Sheet_Name As String
Dim Book_Name As String
Workbooks.Open FileName:=FileName
Sheet_Name = "Sheet1"
Book_Name = ActiveWorkbook.Name
Workbooks(Book_Name).Sheets(Sheet_Name).Select
Range("A1").Select
End Sub

上記の構文でBookを開く時に「Password」を要求して開くようにしています。
ただ、Passwordを間違えた時は「実行時エラー1004」とな、「デバック」するか「終了」するしかありません。
デバック」・「終了」をせずに再度Password入力に戻るにはどの様にすれば良いでしょうか。

A 回答 (3件)

一例です。



Sub test01()
Dim FileName As String
FileName = "D:\集計表.xls"
Dim Sheet_Name As String
Dim Book_Name As String
On Error GoTo line
Workbooks.Open FileName:=FileName
Sheet_Name = "Sheet1"
Book_Name = ActiveWorkbook.Name
Workbooks(Book_Name).Sheets(Sheet_Name).Select
Range("A1").Select
Exit Sub

line:
If MsgBox("パスワードが違うようです。" _
+ Chr(&HD) + Chr(&HA) + "もういちどトライしてみる?", vbYesNo + vbQuestion, "( ̄∇ ̄) ? ") = vbYes Then
Call test01
End If
End Sub

この回答への補足

Chr(&HD) + Chr(&HA) + "もういちどトライしてみる?", vbYesNo + vbQuestion, "( ̄∇ ̄) ? ") = vbYes Then で「Chr(&HD)」の部分でコンパイルエラー「プロジェクト又はライブラリが見つかりません」となります。

補足日時:2009/03/03 15:01
    • good
    • 0

> コンパイルエラー「プロジェクト又はライブラリが見つかりません」となります。



この例でそうなりますか?変ですねえ・・・・。
とりあえず
Visual Basic Editorのメニューバーの「ツール」、「参照設定」 をクリックします。
“参照不可”になっている項目のチェックをはずします。
[OK] をクリックします。

これでどうでしょう?
    • good
    • 0
この回答へのお礼

大変参考になりました。
有難うございました。

お礼日時:2009/03/03 18:16

↓こちらを参考にすればどうでしょうか。


エラー処理
http://t_shun.at.infoseek.co.jp/My_Page/Excel-VB …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!