通勤認定エクセルツール対応14

This commit is contained in:
guanxiangwei
2026-05-30 16:47:51 +09:00
parent 29c9200132
commit f84e4b4d3b
23 changed files with 794 additions and 675 deletions

View File

@@ -52,8 +52,8 @@ Sub WriteCSVFromArray( _
If rows = 0 Or cols = 0 Then Exit Sub ' Empty array, exit early
' === Build CSV content ===
Dim outputLines As Collection
Set outputLines = New Collection
Dim outputLines As VBA.Collection
Set outputLines = New VBA.Collection
Dim i As Long, j As Long
Dim rowStr As String
@@ -129,8 +129,8 @@ ExitPoint:
ArrayDimensions = dimCount - 1
End Function
' Helper function: convert a Collection to a 1D array (for use with Join)
Private Function CollectionToArray(col As Collection) As Variant
' Helper function: convert a VBA.Collection to a 1D array (for use with Join)
Private Function CollectionToArray(col As VBA.Collection) As Variant
If col.Count = 0 Then
CollectionToArray = Array()
Exit Function
@@ -210,7 +210,7 @@ Function ReadCSVAs2DArrayStrict( _
textContent = Replace(textContent, vbCr, vbLf)
' === transfer into collection ===
Dim lines As Collection
Dim lines As VBA.Collection
Set lines = ParseCSVLines(textContent)
' === validate empty ===
@@ -259,14 +259,14 @@ Function ReadCSVAs2DArrayStrict( _
End Function
' Helper function: Parse CSV text into collection of string arrays (zero-based per row)
Private Function ParseCSVLines(ByVal csvText As String) As Collection
Set ParseCSVLines = New Collection
Private Function ParseCSVLines(ByVal csvText As String) As VBA.Collection
Set ParseCSVLines = New VBA.Collection
Dim length As Long: length = Len(csvText)
If length = 0 Then Exit Function
Dim i As Long: i = 1
Dim currentField As String
Dim currentRow As Collection: Set currentRow = New Collection
Dim currentRow As VBA.Collection: Set currentRow = New VBA.Collection
Dim inQuotes As Boolean
Dim c As String
@@ -314,7 +314,7 @@ Private Function ParseCSVLines(ByVal csvText As String) As Collection
Next k
End If
ParseCSVLines.Add arr
Set currentRow = New Collection
Set currentRow = New VBA.Collection
currentField = ""
inQuotes = False
i = i + 1