はじめまして、VB初心者のKNCKといいます。
環境はVB6 + XPSP2です。
Excelファイル自体が保護されているものを
set xlBook = xlApp.Workbooks.Open(FileName,,,,Password)
として開こうとしているんですが
空白や違うパスを入力するとエラーで落ちます。
ちなみに正しいパスワードだとちゃんと開きます。
今のところ直前で
On Error GoTo EXL_Open_Err
を記述し飛ばしてMSGBOXを表示するようにしてますが
エラーにより処理を分岐させる以外に方法はないでしょうか?
それともエラーによるこの分岐がVBでは正規なんでしょうか?
教えてください、よろしくお願いします。
一応簡単なソースです。
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim strPass As String
Dim strExlFile As String
On Error GoTo ERR_MESS
strPassword = Trim(Text1.Text)
Set xlApp = CreateObject("Excel.Application")
On Error GoTo EXL_Open_Err
Set xlBook = xlApp.Workbooks.Open(strExlFile, , , , strPass)'エラー
On Error GoTo ERR_MESS
Set xlSheet = xlBook.Worksheets(i)
・・・・・(処理)
Set xlSheet = Nothing
xlBook.Close
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
Exit Sub
ERR_MESS:
・・・・(エラーメッセージ表示)
Set xlSheet = Nothing
xlBook.Close
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
Exit Sub
EXL_Open_Err:
・・・・(エラーメッセージ表示)
xlApp.Quit
Set xlApp = Nothing
End Sub
エラーの記述を忘れました。↓
入力したパスワードは間違っています。
CapsLockキーがオフになっている事を確認し
大文字と小文字が正しく使われている事を確認してください。
ツイート | ![]() |