質問編集履歴
2
試したことを追加
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
エラー内容:WorkbooksクラスのOpenプロパティを取得できません
|
|
25
25
|
|
|
26
26
|
###該当のソースコード
|
|
27
|
+
```VBA
|
|
27
28
|
Dim xlapp As Variant
|
|
28
29
|
Set xlapp = CreateObject("excel.application")
|
|
29
30
|
xlapp.Visible = False
|
|
@@ -36,13 +37,14 @@
|
|
|
36
37
|
Set xlbooks = xlapp.Workbooks
|
|
37
38
|
’ここでエラーが発生
|
|
38
39
|
Set work_book = xlbooks.Open(filepath, ReadOnly:=True)
|
|
40
|
+
```
|
|
39
41
|
|
|
40
42
|
|
|
41
|
-
|
|
42
43
|
###試したこと
|
|
43
44
|
下記のことを試しても改善、及び現象の再現はしていない状況です
|
|
44
45
|
|
|
45
46
|
1.別Verのエクセルが導入された可能性を見越してExcelのVerをチェック
|
|
47
|
+
```VBA
|
|
46
48
|
If xlapp.Version <> 14# Then
|
|
47
49
|
Dim old_ver As Double
|
|
48
50
|
old_ver = xlapp.Version
|
|
@@ -51,6 +53,7 @@
|
|
|
51
53
|
Set xlapp = CreateObject("excel.application.14")
|
|
52
54
|
Call m_output_log.output_log("ExcelVer切り替え:" & old_ver)
|
|
53
55
|
End If
|
|
56
|
+
```
|
|
54
57
|
|
|
55
58
|
2.開こうとしているBookが他のアプリで使用されている可能性を見越してコピーをとり、コピーしたファイルを開く
|
|
56
59
|
|
|
@@ -60,6 +63,10 @@
|
|
|
60
63
|
|
|
61
64
|
5.負荷テストとして、別アプリにて物理メモリを食いつぶしてみる
|
|
62
65
|
|
|
66
|
+
6.CreateObjectを使用せずに下記のコードでのOpen
|
|
67
|
+
```VBA
|
|
68
|
+
Set work_book = Workbooks.Open(report_file, ReadOnly:=True)
|
|
69
|
+
```
|
|
63
70
|
###補足情報
|
|
64
71
|
特定のPCで使用しているファイルを別PCにコピーして実行してもエラーが出ない為
|
|
65
72
|
特定PCの環境依存の問題かと思われます
|
1
環境情報追記
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
###Excel2010のVBAにて別Bookを開きたい
|
|
2
|
-
|
|
2
|
+
Windows~~10~~7(32bit)、Excel2010の環境にて
|
|
3
3
|
ExcelVBAにて別のBookを開く際にエラーが出て
|
|
4
4
|
Bookを開くことが出来ない
|
|
5
5
|
|
|
6
|
+
追記
|
|
7
|
+
Excel2010 Version14.0.7015.1000(32ビット)
|
|
8
|
+
開こうとしているBookに関して
|
|
9
|
+
・.xlsxファイル(このファイルを生成したExcelのVersionは不明)
|
|
10
|
+
・シート数30弱
|
|
11
|
+
・マクロ等はしこまれていない
|
|
12
|
+
|
|
6
13
|
###発生している問題・エラーメッセージ
|
|
7
14
|
|
|
8
15
|
特定のPCでのみで発生しており
|
|
@@ -26,6 +33,7 @@
|
|
|
26
33
|
GoTo Continue
|
|
27
34
|
End If
|
|
28
35
|
|
|
36
|
+
Set xlbooks = xlapp.Workbooks
|
|
29
37
|
’ここでエラーが発生
|
|
30
38
|
Set work_book = xlbooks.Open(filepath, ReadOnly:=True)
|
|
31
39
|
|