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

質問編集履歴

4

プログラムの追加

2017/07/21 07:29

投稿

syameimaru
syameimaru

スコア181

title CHANGED
File without changes
body CHANGED
@@ -11,6 +11,43 @@
11
11
  ###写真2
12
12
  ![イメージ説明](205c29fe45a8b18c425c7754dd0c4721.png)
13
13
 
14
+ ###プログラム(CSVを配列に入れて、ラベルのテキストに出力するところ)
15
+ ```VB
16
+ Dim fileName As String = "CSVのデータがある場所のフルパス"
17
+ If IO.File.Exists(fileName) Then
18
+ Dim txtParser As FileIO.TextFieldParser =
19
+ New FileIO.TextFieldParser(
20
+ "CSVのデータがある場所のフルパス",
21
+ System.Text.Encoding.GetEncoding("shift_jis"))
14
22
 
23
+ '内容は区切り文字形式
24
+ txtParser.TextFieldType =
25
+ FileIO.FieldType.Delimited
26
+
27
+ 'デリミタはカンマ
28
+ txtParser.SetDelimiters(",")
29
+ Dim i As Object = Nothing
30
+ i = 0
31
+ 'ファイルの終わりまで一行ずつ処理
32
+ While Not txtParser.EndOfData
33
+ '一行を読み込んで配列に結果を受け取る
34
+ Dim splittedResult As String() = txtParser.ReadFields()
35
+ '出力してみる
36
+ For Each output As String In splittedResult
37
+ If Not i > 53 Then
38
+ mylabels(i).Text = output
39
+ '↑ラベル
40
+ i = i + 1
41
+ Else
42
+ End If
43
+ Next
44
+ End While
45
+ While i < 54
46
+ mylabels(i).Text = " "
47
+ i = i + 1
48
+ End While
49
+ '最後に閉じる
50
+ txtParser.Close()
51
+ ```
15
52
  ###補足情報(言語/FW/ツール等のバージョンなど)
16
53
  ・CSVファイルはカンマ区切り

3

説明の追加

2017/07/21 07:29

投稿

syameimaru
syameimaru

スコア181

title CHANGED
File without changes
body CHANGED
@@ -2,11 +2,15 @@
2
2
  ・Visual Studioで掲示板システムを作っています。
3
3
  ###発生している問題・エラーメッセージ
4
4
  ・CSVを行で読み込んでいて、その行のデータがない列が無視されてしまう
5
- ###写真
5
+ たとえば、下の写真1のように[A,1]から[D,1]までデータがあって[E,1]にはデータがないが、[F,1]にはデータがある。という場合は全体で18個のデータがインポートされるのですが、写真2のように[A,1]から[D,1]、[F,1]にはデータがないが[E,1]にはデータがあるという場合、全体で3個のデータしかインポートされません。
6
6
 
7
+ これを写真2のような場合でも18個のデータがインポートされるようにしたいです。
8
+ 何もないセルには" "かNULLを入れたいです。
9
+ ###写真1
7
- ![イメージ説明](772af060dc938fcedcca91f9653da63a.gif)
10
+ ![写真1](772af060dc938fcedcca91f9653da63a.gif)
8
- ###試したこと
11
+ ###写真2
9
- 課題に対してアプロチしたことを記載してください
12
+ ![イメジ説明](205c29fe45a8b18c425c7754dd0c4721.png)
10
13
 
14
+
11
15
  ###補足情報(言語/FW/ツール等のバージョンなど)
12
16
  ・CSVファイルはカンマ区切り

2

写真の変更

2017/07/21 07:22

投稿

syameimaru
syameimaru

スコア181

title CHANGED
File without changes
body CHANGED
@@ -4,248 +4,7 @@
4
4
  ・CSVを行で読み込んでいて、その行のデータがない列が無視されてしまう
5
5
  ###写真
6
6
 
7
- ###該当のソースコード
8
- ```
9
- Public Class MainForm
10
- Private arrCsvData As Object
11
-
12
- Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs)
13
- Close() 'フォームを閉じる
14
- End Sub
15
-
16
- Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles Me.Load
17
-
18
- Timer1.Start()
19
- Dim mylabels As New List(Of Label)
20
- mylabels.Add(Label1)
21
- mylabels.Add(Label2)
22
- mylabels.Add(Label3)
23
- mylabels.Add(Label4)
24
- mylabels.Add(Label5)
25
- mylabels.Add(Label6)
26
- mylabels.Add(Label7)
27
- mylabels.Add(Label8)
28
- mylabels.Add(Label9)
29
- mylabels.Add(Label10)
30
- mylabels.Add(Label11)
31
- mylabels.Add(Label12)
32
- mylabels.Add(Label13)
33
- mylabels.Add(Label14)
34
- mylabels.Add(Label15)
35
- mylabels.Add(Label16)
36
- mylabels.Add(Label17)
37
- mylabels.Add(Label18)
38
- mylabels.Add(Label19)
39
- mylabels.Add(Label20)
40
- mylabels.Add(Label21)
41
- mylabels.Add(Label22)
42
- mylabels.Add(Label23)
43
- mylabels.Add(Label24)
44
- mylabels.Add(Label25)
45
- mylabels.Add(Label26)
46
- mylabels.Add(Label27)
47
- mylabels.Add(Label28)
48
- mylabels.Add(Label29)
49
- mylabels.Add(Label30)
50
- mylabels.Add(Label31)
51
- mylabels.Add(Label32)
52
- mylabels.Add(Label33)
53
- mylabels.Add(Label34)
54
- mylabels.Add(Label35)
55
- mylabels.Add(Label36)
56
- mylabels.Add(Label37)
57
- mylabels.Add(Label38)
58
- mylabels.Add(Label39)
59
- mylabels.Add(Label40)
60
- mylabels.Add(Label41)
61
- mylabels.Add(Label42)
62
- mylabels.Add(Label43)
63
- mylabels.Add(Label44)
64
- mylabels.Add(Label45)
65
- mylabels.Add(Label46)
66
- mylabels.Add(Label47)
67
- mylabels.Add(Label48)
68
- mylabels.Add(Label49)
69
- mylabels.Add(Label50)
70
- mylabels.Add(Label51)
71
- mylabels.Add(Label52)
72
- mylabels.Add(Label53)
73
- mylabels.Add(Label54)
74
-
75
- Dim fileName As String = "CSVデータがある場所のフルパス"
76
- If IO.File.Exists(fileName) Then
77
-
78
-
79
- Dim txtParser As FileIO.TextFieldParser =
80
- New FileIO.TextFieldParser(
81
- "CSVデータがある場所のフルパス",
82
- System.Text.Encoding.GetEncoding("shift_jis"))
83
-
84
- '内容は区切り文字形式
85
- txtParser.TextFieldType =
86
- FileIO.FieldType.Delimited
87
-
88
- 'デリミタはカンマ
89
- txtParser.SetDelimiters(",")
90
- Dim i As Object = Nothing
91
- i = 0
92
- 'ファイルの終わりまで一行ずつ処理
93
- While Not txtParser.EndOfData
94
-
95
- '一行を読み込んで配列に結果を受け取る
96
- Dim splittedResult As String() = txtParser.ReadFields()
97
-
98
- '出力してみる
99
- For Each output As String In splittedResult
100
- If Not i > 53 Then
101
- Debug.WriteLine(i)
102
- Debug.WriteLine(output)
103
- mylabels(i).Text = output
104
- i = i + 1
105
- Else
106
- End If
107
- Next
108
-
109
- 'Console.WriteLine("ここまで", i)
110
-
111
- End While
112
- While i < 54
113
- mylabels(i).Text = " "
114
- i = i + 1
115
- End While
116
-
117
- '最後に閉じる
118
- txtParser.Close()
119
-
120
-
121
-
122
- Dim Events As Object '行事内容の行数
123
- Dim Nodata As Object 'コメントも行事内容もない行数
124
- Dim Comments As Object 'コメントの行数
125
-
126
-
127
-
128
- '一つ目
129
- If Label5.Text Is "" And Label1.Text IsNot "" Then
130
- Me.Label5.Hide()
131
- Me.TableLayoutPanel1.Show()
132
- Events = Events + 1
133
- ElseIf Label5.Text Is "" And Label1.Text Is "" Then
134
- Nodata = Nodata + 1
135
- ElseIf Label5.Text = " " And Label1.Text = " " Then
136
- b = 1
137
- Dim fileNames As String = "C:\Users\KH005\Pictures\IMG_420.JPG"
138
- If IO.File.Exists(fileNames) Then
139
- Me.Hide()
140
- dpimg.Show()
141
- Exit Sub
142
- Else
143
- Me.Hide()
144
- dpsp.Show()
145
- Exit Sub
146
- End If
147
- ElseIf Label5.Text IsNot "" And Label1.Text Is "" Then
148
- Me.Label5.Show()
149
- Me.TableLayoutPanel1.Hide()
150
- Comments = Comments + 1
151
- Else
152
- MsgBox("コメントと行事内容が同時に書かれています。",
153
- MsgBoxStyle.YesNo Or MsgBoxStyle.Exclamation,
154
- "CSVの内容1行目を確認してください")
155
- Me.Hide()
156
- Exit Sub
157
- End If
158
-
159
-
160
-
161
-
162
- If Events = 1 Then
163
- '二つ目
164
-
165
- If Label11.Text Is "" And Label7.Text IsNot "" Then
166
- Me.TableLayoutPanel2.Show()
167
- Me.Label11.Hide()
168
- Events = Events + 1
169
- ElseIf Label11.Text Is "" And Label7.Text Is "" Then
170
- Nodata = Nodata + 1
171
- ElseIf Label11.Text IsNot "" And Label7.Text Is "" Then
172
- Me.TableLayoutPanel2.Hide()
173
- Me.Label11.Show()
174
- Comments = Comments + 1
175
- Else
176
- MsgBox("コメントと行事内容が同時に書かれています。",
177
- MsgBoxStyle.YesNo Or MsgBoxStyle.Exclamation,
178
- "CSVの内容2行目を確認してください")
179
- Me.Hide()
180
- Exit Sub
181
- End If
182
-
183
-
184
-
185
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
186
-
187
- If Not IsNothing(Comments) And Not IsNothing(Events) Then
188
- Dim h As Object
189
- Dim K As Object
190
- Dim j As Object
191
- Dim z As Object
192
- Dim x As Object
193
- Dim showcomment As Object
194
- K = 9
195
- j = 1
196
- z = 4
197
- showcomment = 9 - Events
198
- showcomment = showcomment - Comments
199
- If Events = 1 Then
200
- h = -22
201
- ElseIf Events = 2 Then
202
- h = -12
203
- ElseIf Events = 3 Then
204
- h = -2
205
- ElseIf Events = 4 Then
206
- h = 8
207
- ElseIf Events = 5 Then
208
- h = 18
209
- ElseIf Events = 6 Then
210
- h = 28
211
- ElseIf Events = 7 Then
212
- h = 38
213
- ElseIf Events = 8 Then
214
- h = 48
215
- ElseIf Events = 9 Then
216
- h = 58
217
- End If
218
- If Not showcomment = 0 Then
219
- z = z * (9 - Events) + h
220
- z = z + 6 * (Comments - 1)
221
- x = 52 '- (6 * (Comments - 1))
222
- For j = 1 To Comments
223
- 'If Not z = 18 Then
224
- Debug.WriteLine(z)
225
- Debug.WriteLine(mylabels(z).Text)
226
- Debug.WriteLine(x)
227
- Debug.WriteLine(mylabels(x).Text)
228
- mylabels(x).Text = mylabels(z).Text
229
- mylabels(z).Text = ""
230
- mylabels(x).Show()
231
- Me.Controls("TableLayoutPanel" & K).Hide()
7
+ ![イメージ説明](772af060dc938fcedcca91f9653da63a.gif)
232
- x = x - 6
233
- z = z - 6
234
- K = K - 1
235
- 'End If
236
- Next
237
-
238
- End If
239
- End If
240
- End If
241
-
242
- '-----------------------------------------------------------------------------
243
-
244
-
245
- End Class
246
-
247
- ```
248
-
249
8
  ###試したこと
250
9
  課題に対してアプローチしたことを記載してください
251
10
 

1

CSV画像の追加

2017/07/21 07:12

投稿

syameimaru
syameimaru

スコア181

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,8 @@
1
1
  ###前提・実現したいこと
2
2
  ・Visual Studioで掲示板システムを作っています。
3
-
4
-
5
3
  ###発生している問題・エラーメッセージ
6
4
  ・CSVを行で読み込んでいて、その行のデータがない列が無視されてしまう
5
+ ###写真
7
6
 
8
7
  ###該当のソースコード
9
8
  ```