質問編集履歴

1

頂いたアドバイスをもとに質問内容を修正いたしました。よろしくお願いいたします。

2022/05/23 13:57

投稿

s.s.s.s.
s.s.s.s.

スコア3

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,7 @@
1
1
  はじめまして。プログラミング初心者です。
2
2
  この度VBAを使用して以下のようなプログラムを作りたいです。
3
3
 
4
+ **【作成したいプログラム】**
4
5
  ①Excel上でボタンを押下
5
6
  ②フォルダを選択
6
7
  ③「sh~」で始まるファイル以外のテキストファイルをすべて1行ずつ読み込む
@@ -9,9 +10,20 @@
9
10
   ・ファイル名(Excel:B2~)
10
11
   ・件数(「~ 件数=○○)」の○○部分のみ抽出)(Excel:C2~)
11
12
 
13
+ 現在、①②はできているのですが、③④で躓いています。
14
+
15
+ **【現状】**
16
+ ・ファイルのフルパスを取得後、MsgBox FilePath(i)で中身が正しく出力されている
17
+ ⇒取得したパスを使用し、フォルダの中を1行ずつ見る、という方法がわからない。
18
+ ・(内容を編集した結果手前でエラーが出てしまって今はでないのですが)
12
- インターネット駆使して自力で作成を試みみたのですが、
19
+  エクセルに結果出力た際、文字化けししまっいる
20
+ ⇒UTF-8にしたい
13
- 思うよう動かず修正繰り返るうちに今まで動いていた部分も
21
+ ・日付、ファイル名、件数それぞれ変数指定結果を得た
14
- エラーが返っくるようになってしまいました…。途方に暮れています
22
+  型が間違っていますというエラーがてしま設定できない。
23
+
24
+ **【発生しているエラー】**
25
+ ・実行時エラー55 ファイルは既に開かれています。
26
+
15
27
 
16
28
  初めて書いたコードなのであきれてしまうような内容かもしれませんが、
17
29
  これから習得したいと頑張っておりますのでどなたか模範解答、またはアドバイス
@@ -21,6 +33,8 @@
21
33
  教えていただけると嬉しいです。
22
34
 
23
35
  ※途中MsgBoxがあるのは確認用です。
36
+ ※変数の宣言が途中コメントになっているのはインターネットから引用したものを
37
+  自分で先頭に宣言するよう編集したため、残しておこうとコメントにしました。
24
38
 
25
39
  ```ここに言語を入力
26
40
  Sub GetAllTextData()
@@ -60,7 +74,7 @@
60
74
  'Dim FilePath As Variant
61
75
  ReDim FilePath(1 To 100) As Variant
62
76
 
63
- '指定フォルダ内の.txtファイルを探索します
77
+ '指定フォルダ内の.logファイルを探索します
64
78
  i = 0
65
79
  For Each File In FSO.GetFolder(Fname).Files
66
80
  If InStr(File.Name, "sh") > 0 Then