質問編集履歴
4
プログラムの追加
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -11,6 +11,43 @@ | |
| 11 11 | 
             
            ###写真2
         | 
| 12 12 | 
             
            
         | 
| 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
説明の追加
    
        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 | 
            -
            
         | 
| 8 | 
            -
            ### | 
| 11 | 
            +
            ###写真2
         | 
| 9 | 
            -
             | 
| 12 | 
            +
            
         | 
| 10 13 |  | 
| 14 | 
            +
             | 
| 11 15 | 
             
            ###補足情報(言語/FW/ツール等のバージョンなど)
         | 
| 12 16 | 
             
            ・CSVファイルはカンマ区切り
         | 
2
写真の変更
    
        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 | 
            -
             | 
| 7 | 
            +
            
         | 
| 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画像の追加
    
        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 | 
             
            ```
         | 
