52 lines
1.2 KiB
QBasic
52 lines
1.2 KiB
QBasic
Sub O1_Import()
|
|
Dim filePath As String
|
|
Dim lines As Variant
|
|
Dim i As Long
|
|
Dim writeRow As Long
|
|
|
|
Set ws = Me
|
|
|
|
On Error GoTo ErrorHandler
|
|
|
|
' Step 1: Select CSV file
|
|
filePath = SelectCSVFile()
|
|
If filePath = "" Then Exit Sub
|
|
|
|
' Step 2: Read CSV and return 2D array
|
|
lines = ReadCSVAs2DArrayStrict(filePath, 4, "shift-jis", True)
|
|
|
|
' Step 3: Clear data rows
|
|
Call Generic_ClearDataRows(ws, 7, 3)
|
|
|
|
' Step 4: Import data
|
|
writeRow = 7
|
|
For i = LBound(lines, 1) To UBound(lines, 1)
|
|
If Not isRowEmpty Then
|
|
Dim colOffset As Long
|
|
For colOffset = 1 To 4
|
|
ws.Cells(writeRow, 2 + colOffset).Value = CleanCSVField(CStr(lines(i, colOffset)))
|
|
Next colOffset
|
|
writeRow = writeRow + 1
|
|
End If
|
|
Next i
|
|
|
|
MsgBox writeRow - 7 & " rows imported.", vbInformation
|
|
|
|
Exit Sub
|
|
|
|
ErrorHandler:
|
|
MsgBox "Import fails:" & vbCrLf & Err.Description, vbCritical
|
|
End Sub
|
|
|
|
Sub O1_SortDataRowsByC()
|
|
Call SortDataRows(3)
|
|
End Sub
|
|
|
|
Sub O1_ToggleAutoFilter()
|
|
Call ToggleAutoFilter(3, 5)
|
|
End Sub
|
|
|
|
Sub O1_AutoFitColumnWidth()
|
|
Call AutoFitColumnWidth(3, 5)
|
|
End Sub
|