Add CSV header validation and use constant
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
' CSV Header Constants
|
||||||
|
Const CSV_HEADER As String = "利用区間コード,券種,コード,名称,1箇月運賃/販売額,定期額/券1(額)/利用額,定期支給期間/券1(枚)/特別料金,特別料金/券2(額),券2(枚),端数(額),特別料金"
|
||||||
|
|
||||||
Private Sub Worksheet_Change(ByVal Target As Range)
|
Private Sub Worksheet_Change(ByVal Target As Range)
|
||||||
' === Generate F dropdown based on G column (matching left of colon) ===
|
' === Generate F dropdown based on G column (matching left of colon) ===
|
||||||
If Target.Column = 7 And Target.Row >= 7 Then
|
If Target.Column = 7 And Target.Row >= 7 Then
|
||||||
@@ -169,6 +172,16 @@ Sub ImportMasterDetailData()
|
|||||||
|
|
||||||
lines = Split(textContent, vbCrLf)
|
lines = Split(textContent, vbCrLf)
|
||||||
|
|
||||||
|
' === Validate CSV header ===
|
||||||
|
If UBound(lines) >= 0 And Trim(lines(0)) <> "" Then
|
||||||
|
Dim csvHeader As String
|
||||||
|
csvHeader = Trim(lines(0))
|
||||||
|
If csvHeader <> CSV_HEADER Then
|
||||||
|
MsgBox "CSV header mismatch." & vbCrLf & "Expected: " & CSV_HEADER & vbCrLf & "Got: " & csvHeader, vbExclamation
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
' === Clear all data rows before import ===
|
' === Clear all data rows before import ===
|
||||||
lastRow = wsTarget.Cells(wsTarget.Rows.Count, "C").End(xlUp).Row
|
lastRow = wsTarget.Cells(wsTarget.Rows.Count, "C").End(xlUp).Row
|
||||||
If lastRow >= 7 Then
|
If lastRow >= 7 Then
|
||||||
@@ -368,9 +381,9 @@ Sub ExportMasterDetailData()
|
|||||||
savePath = savePath & ".csv"
|
savePath = savePath & ".csv"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Header:,1箇月運賃/販売額,定期額/券1(額)/利用額,定期支給期間/券1(枚)/特別料金,特別料金/券2(額),券2(枚),端数(額),特別料金
|
' Use constant for header
|
||||||
Dim headerList As Variant
|
Dim headerList As Variant
|
||||||
headerList = Array("利用区間コード", "券種", "コード", "名称", "1箇月運賃/販売額", "定期額/券1(額)/利用額", "定期支給期間/券1(枚)/特別料金", "特別料金/券2(額)", "券2(枚)", "端数(額)", "特別料金")
|
headerList = Split(CSV_HEADER, ",")
|
||||||
|
|
||||||
' Build CSV
|
' Build CSV
|
||||||
Dim csvContent As String
|
Dim csvContent As String
|
||||||
|
|||||||
Reference in New Issue
Block a user