回答編集履歴

3

追記

2021/01/26 06:23

投稿

退会済みユーザー
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  ファイルの作成部分はこのコードになります。
24
24
 
25
- VBAはopenの宣言と共に自動的にファイルが作成されます。(少しラグがあります)
25
+ VBAはopenの宣言と共にファイルが存在しなければ自動的にファイルが作成されます。(少しラグがありますし同名ファイルが存在すれば動作は変わります
26
26
 
27
27
  F8でコードを1行ずつ進めていけばこのタイミングでファイルが生成されているのは確認できます。
28
28
 

2

誤りの修正

2021/01/26 06:23

投稿

退会済みユーザー
test CHANGED
@@ -8,13 +8,15 @@
8
8
 
9
9
  ```VBA
10
10
 
11
- Dim csvFile As String
11
+ Dim strFNAME As String 'ファイル名格納用
12
-
13
- csvFile = ActiveWorkbook.Path & "\data.csv"
14
12
 
15
13
 
16
14
 
15
+ 'ブックと同じ位置にtest165.htmlを作成する
16
+
17
+ strFNAME = ThisWorkbook.Path & "\test165.html" 'ファイル名の作成
18
+
17
- Open csvFile For Output As #1
19
+ Open strFNAME For Output As #1 'ファイル番号1で新規作成
18
20
 
19
21
  ```
20
22
 
@@ -26,7 +28,7 @@
26
28
 
27
29
 
28
30
 
29
- 質問では1セルごとに作成したいとのことなのでforループで作成します。
31
+ 質問では1セルごとに作成したいとのことなのですが命名規則などが分からないのでforループで作成します。
30
32
 
31
33
 
32
34
 
@@ -81,5 +83,3 @@
81
83
  をみてください。
82
84
 
83
85
  これで想定通りの動きになりますか?
84
-
85
- 命名規則の記載がないため今回はループ変数を流用しました。

1

追記

2021/01/26 06:21

投稿

退会済みユーザー
test CHANGED
@@ -1 +1,85 @@
1
- 出来るか出来ないかでいえば出来ますね
1
+ ~~出来るか出来ないかでいえば出来ますね。~~
2
+
3
+ 質問文が修正されたので追記。
4
+
5
+ まず下記サイトのサンプルコードを前提として解説します。
6
+
7
+ [Excel VBA テキストファイルで.htmlの雛型を作成する](http://www.ken3.org/vba/backno/vba165.html)
8
+
9
+ ```VBA
10
+
11
+ Dim csvFile As String
12
+
13
+ csvFile = ActiveWorkbook.Path & "\data.csv"
14
+
15
+
16
+
17
+ Open csvFile For Output As #1
18
+
19
+ ```
20
+
21
+ ファイルの作成部分はこのコードになります。
22
+
23
+ VBAはopenの宣言と共に自動的にファイルが作成されます。(少しラグがあります)
24
+
25
+ F8でコードを1行ずつ進めていけばこのタイミングでファイルが生成されているのは確認できます。
26
+
27
+
28
+
29
+ 質問では1セルごとに作成したいとのことなのでforループで作成します。
30
+
31
+
32
+
33
+ ```VBA
34
+
35
+ Sub test001()
36
+
37
+
38
+
39
+ Dim strFNAME As String 'ファイル名格納用
40
+
41
+
42
+
43
+ For i = 1 To 10
44
+
45
+
46
+
47
+ 'ブックと同じ位置に変数名iの.htmlを作成する
48
+
49
+ strFNAME = ThisWorkbook.Path & "\" & i & ".html" 'ファイル名の作成
50
+
51
+ Open strFNAME For Output As #1 'ファイル番号1で新規作成
52
+
53
+
54
+
55
+ 'データ書き込み、
56
+
57
+ Print #1, ActiveSheet.Cells(i, 3).Value
58
+
59
+
60
+
61
+ Close #1 '開いたら閉じようね
62
+
63
+
64
+
65
+ Next
66
+
67
+ End Sub
68
+
69
+ ```
70
+
71
+ このコードであればactivesheetのC列を上から10セル分データを書き出します。
72
+
73
+ また、変数でセル位置も指定しているので中身のデータも個別になっています。
74
+
75
+ C列に1~10までの数値を入れれば確認できるでしょう。
76
+
77
+ 最終行の取得は
78
+
79
+ [最終行の取得](https://excel-ubara.com/excelvba1/EXCELVBA318.html)
80
+
81
+ をみてください。
82
+
83
+ これで想定通りの動きになりますか?
84
+
85
+ 命名規則の記載がないため今回はループ変数を流用しました。