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

質問編集履歴

6

更新

2020/08/07 07:33

投稿

yakumo02
yakumo02

スコア103

title CHANGED
File without changes
body CHANGED
@@ -1,15 +1,11 @@
1
- bookのファイルのデータをファイルを開かずに参照したいのですが、
2
- 下記だと、実行時エラー13 型が一致しませんと出てしまいます
3
- ご教授願います。
4
-
5
1
  分かりやすいように書き換えていましたが、本来のコードで質問させていただきます
6
2
  sampleでFileSearchを引数つきで呼び出します
7
3
  一番下のFor Each Folder In FSO.GetFolder(path).SubFoldersの記述でサブフォルダを再帰を使い全て取得していきます。
8
4
 
9
5
  Do While book <> ""で、サブフォルダに指定したファイル(book)がある場合、そのファイルを開かずに何らかの処理をしたいと思っています
10
6
 
7
+ 以下だとオブジェクトは、このプロパティまたはメソッドをサポートしていません。と表示されてしまいます。
11
8
 
12
-
13
9
  ```
14
10
 
15
11
 
@@ -27,7 +23,7 @@
27
23
 
28
24
  Do While book <> ""
29
25
 
30
- thisworkbook.worksheets(1).range("A33").value = ExecuteExcel4Macro("'" & path & "[" & buf & "]テスト2シート'!R1C1")
26
+ Thisworkbook.Worksheets("イベント").Range("A33").Value = ExecuteExcel4Macro("'" & path & "[" & buf & "]テスト2シート'!R1C1")
31
27
 
32
28
 
33
29
  buf = Dir()

5

更新

2020/08/07 07:33

投稿

yakumo02
yakumo02

スコア103

title CHANGED
File without changes
body CHANGED
@@ -27,9 +27,9 @@
27
27
 
28
28
  Do While book <> ""
29
29
 
30
- ca = ExecuteExcel4Macro("'" & path & "[*テスト.xls*]テスト2シート'!R3C2")
30
+ thisworkbook.worksheets(1).range("A33").value = ExecuteExcel4Macro("'" & path & "[" & buf & "]テスト2シート'!R1C1")
31
- MsgBox ca
32
31
 
32
+
33
33
  buf = Dir()
34
34
 
35
35
  Loop

4

更新

2020/08/07 07:27

投稿

yakumo02
yakumo02

スコア103

title CHANGED
File without changes
body CHANGED
@@ -14,8 +14,8 @@
14
14
 
15
15
 
16
16
  Sub sample()
17
- '**は伏字です
17
+
18
- Call FileSearch("C:\Users***\Documents\Document****)
18
+ Call FileSearch("C:\Users\kimura\Documents\Document\テスト)
19
19
  End Sub
20
20
 
21
21
  Sub FileSearch(path As String)
@@ -39,9 +39,7 @@
39
39
  Call FileSearch(Folder.path)
40
40
  Next Folder
41
41
 
42
-
43
42
 
44
-
45
43
  End Sub
46
44
 
47
45
  ```

3

更新

2020/08/07 07:02

投稿

yakumo02
yakumo02

スコア103

title CHANGED
File without changes
body CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
  Sub sample()
17
-
17
+ '**は伏字です
18
18
  Call FileSearch("C:\Users***\Documents\Document****)
19
19
  End Sub
20
20
 

2

更新

2020/08/07 06:58

投稿

yakumo02
yakumo02

スコア103

title CHANGED
File without changes
body CHANGED
@@ -2,27 +2,48 @@
2
2
  下記だと、実行時エラー13 型が一致しませんと出てしまいます
3
3
  ご教授願います。
4
4
 
5
+ 分かりやすいように書き換えていましたが、本来のコードで質問させていただきます
6
+ sampleでFileSearchを引数つきで呼び出します
7
+ 一番下のFor Each Folder In FSO.GetFolder(path).SubFoldersの記述でサブフォルダを再帰を使い全て取得していきます。
5
8
 
9
+ Do While book <> ""で、サブフォルダに指定したファイル(book)がある場合、そのファイルを開かずに何らかの処理をしたいと思っています
10
+
11
+
12
+
6
13
  ```
7
14
 
15
+
16
+ Sub sample()
17
+
18
+ Call FileSearch("C:\Users***\Documents\Document****)
19
+ End Sub
20
+
8
21
  Sub FileSearch(path As String)
9
- path = "C:\Users**\Documents\Document*"
10
- book = Dir(path & "*テスト.xls*")
11
22
 
12
- Dim FSO As Object, Folder As Variant, File As Variant
23
+ Dim FSO As Object, Folder As Variant, File As Variant, buf As String
24
+
13
25
  Set FSO = CreateObject("Scripting.FileSystemObject")
26
+ book = Dir(path & "*テスト.xls*")
14
27
 
15
-
16
28
  Do While book <> ""
17
- '開かずに処理
18
- ca = ExecuteExcel4Macro("'path[*テスト.xls*]テスト2シート'!R3C2")
19
- Msgbox ca
20
29
 
30
+ ca = ExecuteExcel4Macro("'" & path & "[*テスト.xls*]テスト2シート'!R3C2")
31
+ MsgBox ca
32
+
33
+ buf = Dir()
34
+
21
35
  Loop
22
36
 
37
+
23
38
  For Each Folder In FSO.GetFolder(path).SubFolders
24
39
  Call FileSearch(Folder.path)
25
40
  Next Folder
41
+
42
+
43
+
44
+
45
+ End Sub
46
+
26
47
  ```
27
48
  参照サイト
28
49
  https://excel-ubara.com/excelvba5/EXCELVBA242.html

1

buf をbookに変更

2020/08/07 06:54

投稿

yakumo02
yakumo02

スコア103

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,3 @@
1
- path = "C:\Users******\Documents\Document*****"
2
- book = Dir(path & "*テスト.xls*")
3
-
4
1
  bookのファイルのデータをファイルを開かずに参照したいのですが、
5
2
  下記だと、実行時エラー13 型が一致しませんと出てしまいます
6
3
  ご教授願います。
@@ -9,12 +6,14 @@
9
6
  ```
10
7
 
11
8
  Sub FileSearch(path As String)
9
+ path = "C:\Users**\Documents\Document*"
10
+ book = Dir(path & "*テスト.xls*")
12
11
 
13
12
  Dim FSO As Object, Folder As Variant, File As Variant
14
13
  Set FSO = CreateObject("Scripting.FileSystemObject")
15
14
 
16
15
 
17
- Do While buf <> ""
16
+ Do While book <> ""
18
17
  '開かずに処理
19
18
  ca = ExecuteExcel4Macro("'path[*テスト.xls*]テスト2シート'!R3C2")
20
19
  Msgbox ca