teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/08/10 05:02

投稿

meg_
meg_

スコア10986

answer CHANGED
@@ -1,2 +1,29 @@
1
1
  ``CreateObject("Excel.Application")``の箇所を``GetObject(, "excel.Application")``にしてはどうでしょうか?
2
- [オートメーション サーバーの GetObject と CreateObject Office動作](https://docs.microsoft.com/ja-jp/office/troubleshoot/office-suite-issues/getobject-createobject-behavior)
2
+ [オートメーション サーバーの GetObject と CreateObject Office動作](https://docs.microsoft.com/ja-jp/office/troubleshoot/office-suite-issues/getobject-createobject-behavior)
3
+
4
+ ---
5
+ 【追記】
6
+ > 記載いただいた内容にて実行したところ、「Debug.Print Workbooks(i).Name」 にて、
7
+ 下記のエラーが表示され、正常動作しませんでした。
8
+ 実行時エラー'9'
9
+ インデックスが有効範囲にありません。
10
+
11
+ 上記はまた別のエラーですね。
12
+ 下記コードで動作確認できました。
13
+
14
+ ```vba
15
+ Sub detect_book()
16
+
17
+ Dim i As Long
18
+ Dim appExcel As Object
19
+
20
+ Set appExcel = GetObject(, "excel.Application")
21
+
22
+ For i = 1 To appExcel.Workbooks.Count
23
+ Debug.Print appExcel.Workbooks(i).Name
24
+ Next i
25
+
26
+ Set appExcel = Nothing
27
+
28
+ End Sub
29
+ ```