質問編集履歴
1
該当ソースを省略せずに入力
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,16 +7,48 @@
|
|
7
7
|
Workbooks.Open(フルパスファイル名, 0)を実行するとErr.Numberが9になる端末がある。
|
8
8
|
同じファイルにも関わらず、もう一方の端末は、Err.Numberに0が返ってくる。
|
9
9
|
|
10
|
+
**投稿後、追記**
|
11
|
+
Set wb = Workbooks.Open(Me.Range("B6"), 0)のコードが実行されると
|
12
|
+
Err.Numberが9(インデックスが有効範囲にありません。)になるが、
|
13
|
+
ErrLabl:に飛ばず、Set ws = wb.Worksheets("sheet1")以降のコードが実行され、
|
14
|
+
If Err.Number <> 0 Thenの判定で、Err.Numberが9のため、
|
15
|
+
"データ取込対象のシートが存在しません。"のメッセージが表示される。
|
16
|
+
|
10
17
|
### 該当のソースコード
|
11
18
|
|
12
19
|
```VBA
|
13
20
|
|
14
21
|
On Error GoTo ErrLabl
|
15
22
|
|
23
|
+
Dim wb As Workbook
|
16
|
-
|
24
|
+
Dim ws As Worksheet
|
17
25
|
|
26
|
+
errMsg = ""
|
27
|
+
|
28
|
+
'B6セルにファイルのフルパスが入力されている。
|
29
|
+
Set wb = Workbooks.Open(Me.Range("B6"), 0)
|
30
|
+
Set ws = wb.Worksheets("sheet1")
|
31
|
+
|
32
|
+
Call ws.Range("H8:J16").Copy
|
33
|
+
|
34
|
+
Call ThisWorkbook.Worksheets("test").Cells(2, 3).PasteSpecial(xlPasteValues)
|
35
|
+
|
36
|
+
Application.CutCopyMode = False
|
37
|
+
|
18
38
|
ErrLabl:
|
19
39
|
|
40
|
+
If Err.Number <> 0 Then
|
41
|
+
errMsg = "データ取込対象のシートが存在しません。"
|
42
|
+
End If
|
43
|
+
|
44
|
+
If Not wb Is Nothing Then
|
45
|
+
Call wb.Close(False)
|
46
|
+
Set wb = Nothnig
|
47
|
+
Set ws = Nothing
|
48
|
+
End If
|
49
|
+
|
50
|
+
|
51
|
+
|
20
52
|
```
|
21
53
|
|
22
54
|
### 試したこと
|
@@ -25,8 +57,12 @@
|
|
25
57
|
Workbooks.Open(フルパスファイル名, UpdateLinks:=False )にしたが結果が変わらないことを確認
|
26
58
|
Workbooks.Openのコードのステップ実行直前は、Err.Numberが0で、
|
27
59
|
コードをステップ実行するとErr.Numberが9にはなるがファイルは開かれて、ErrLabl:に飛ばないことを確認。
|
60
|
+
**投稿後、追記**
|
61
|
+
エクセルのオプションが同じことを確認。
|
28
62
|
|
29
63
|
### 補足情報(FW/ツールのバージョンなど)
|
30
64
|
どちらの端末も以下のとおり。
|
31
65
|
OS:Windows7
|
32
|
-
Excel2007
|
66
|
+
Excel2007
|
67
|
+
**投稿後、追記**
|
68
|
+
開くファイルの拡張子は、xlsxで、VBAコードがないものです。
|