前提・実現したいこと
異なる端末でVBAのWorkbooks.Open(フルパスファイル名, 0)の実行結果が異なり、
一方は、Err.Numberが0になるが、もう一方の端末は、Err.Numberが9になります。
Err.Numberが9になる端末についてもErr.Numberが0で返ってくるようにしたい。
発生している問題・エラーメッセージ
Workbooks.Open(フルパスファイル名, 0)を実行するとErr.Numberが9になる端末がある。
同じファイルにも関わらず、もう一方の端末は、Err.Numberに0が返ってくる。
投稿後、追記
Set wb = Workbooks.Open(Me.Range("B6"), 0)のコードが実行されると
Err.Numberが9(インデックスが有効範囲にありません。)になるが、
ErrLabl:に飛ばず、Set ws = wb.Worksheets("sheet1")以降のコードが実行され、
If Err.Number <> 0 Thenの判定で、Err.Numberが9のため、
"データ取込対象のシートが存在しません。"のメッセージが表示される。
該当のソースコード
VBA
1 2On Error GoTo ErrLabl 3 4Dim wb As Workbook 5Dim ws As Worksheet 6 7errMsg = "" 8 9'B6セルにファイルのフルパスが入力されている。 10Set wb = Workbooks.Open(Me.Range("B6"), 0) 11Set ws = wb.Worksheets("sheet1") 12 13Call ws.Range("H8:J16").Copy 14 15Call ThisWorkbook.Worksheets("test").Cells(2, 3).PasteSpecial(xlPasteValues) 16 17Application.CutCopyMode = False 18 19ErrLabl: 20 21If Err.Number <> 0 Then 22 errMsg = "データ取込対象のシートが存在しません。" 23End If 24 25If Not wb Is Nothing Then 26 Call wb.Close(False) 27 Set wb = Nothnig 28 Set ws = Nothing 29End If 30 31 32
試したこと
どちらの端末も参照設定が同じことを確認。
どちらの端末も登録されている拡張子は表示しないにチェックが入っていることを確認。
Workbooks.Open(フルパスファイル名, UpdateLinks:=False )にしたが結果が変わらないことを確認
Workbooks.Openのコードのステップ実行直前は、Err.Numberが0で、
コードをステップ実行するとErr.Numberが9にはなるがファイルは開かれて、ErrLabl:に飛ばないことを確認。
投稿後、追記
エクセルのオプションが同じことを確認。
補足情報(FW/ツールのバージョンなど)
どちらの端末も以下のとおり。
OS:Windows7
Excel2007
投稿後、追記
開くファイルの拡張子は、xlsxで、VBAコードがないものです。