From 3e51710d9f1d68a6249810e5d69a9965d4f55857 Mon Sep 17 00:00:00 2001 From: Kenichiro NOGI Date: Fri, 11 Sep 2026 14:30:01 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Get=E6=96=B9=E5=BC=8F=E3=81=AEISO8601?= =?UTF-8?q?=E6=97=A5=E4=BB=98=E6=96=87=E5=AD=97=E5=88=97=E3=82=92yyyy/mm/d?= =?UTF-8?q?d=E8=A1=A8=E8=A8=98=E3=81=AB=E6=AD=A3=E8=A6=8F=E5=8C=96?= =?UTF-8?q?=E3=80=81=E6=9C=AA=E8=A8=AD=E5=AE=9A=E6=97=A5=E4=BB=98(1899-12-?= =?UTF-8?q?30)=E3=81=AF=E7=A9=BA=E6=AC=84=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NormalizeGetValueを追加し、getRecordsDataToSheetの値格納時に適用。 オブジェクト値の空欄化処理もこの関数に統合。 --- .../vba-files/Module/Module1.bas | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas index 713b3359..2359f977 100644 --- a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas +++ b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas @@ -437,11 +437,7 @@ Function getRecordsDataToSheet(records As Collection, targetSheet As String) Dim curRec As Dictionary Set curRec = flatRecords(i) For j = 1 To maxCols - If IsObject(curRec(headerKeys(j - 1))) Then - dataArr(i, j) = "" - Else - dataArr(i, j) = curRec(headerKeys(j - 1)) - End If + dataArr(i, j) = NormalizeGetValue(curRec(headerKeys(j - 1))) Next j Next i @@ -472,6 +468,29 @@ Function getRecordsDataToSheet(records As Collection, targetSheet As String) Debug.Print "R[h̃V[go͊: " & targetSheet End Function +'****************************************************************************** +'GetŎ擾l̂AISO8601`̓t𐳋K +'YYYY-MM-DDThh:mm:ss` "yyyy/mm/dd"Aݒ1899-12-30͋󗓂ɂ +'IuWFNgliJSONz񓙁j͋󗓂ɂ +Function NormalizeGetValue(ByVal v As Variant) As Variant + If IsObject(v) Then + NormalizeGetValue = "" + Exit Function + End If + + Dim s As String + s = CStr(v) + If Len(s) >= 10 And Mid(s, 5, 1) = "-" And Mid(s, 8, 1) = "-" And Mid(s, 11, 1) = "T" Then + If Left(s, 10) = "1899-12-30" Then + NormalizeGetValue = "" + Else + NormalizeGetValue = Mid(s, 1, 4) & "/" & Mid(s, 6, 2) & "/" & Mid(s, 9, 2) + End If + Else + NormalizeGetValue = v + End If +End Function + '****************************************************************************** 'REST APIďo '@method@GetPOST