From b8ef165fdf54f7d4e7a6c4b2720a24aebf3b5461 Mon Sep 17 00:00:00 2001 From: Kenichiro NOGI Date: Fri, 11 Sep 2026 13:18:03 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Filter/Sorter=E8=A1=A8=E3=81=8B?= =?UTF-8?q?=E3=82=89View=E3=83=91=E3=83=A9=E3=83=A1=E3=83=BC=E3=82=BF?= =?UTF-8?q?=E3=82=92=E7=B5=84=E3=81=BF=E7=AB=8B=E3=81=A6=E3=82=8BBuildView?= =?UTF-8?q?FromSheet=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vba-files/Module/Module1.bas | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas index 213805f4..84a064c2 100644 --- a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas +++ b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas @@ -257,6 +257,42 @@ Private Function CollectionToArray(Byval col As Collection) As Variant CollectionToArray = arr End Function +'****************************************************************************** +'{V[gFilter\(F2:G2oAF3ȍ~f[^)ESorter\(H2:I2oAH3ȍ~f[^)ǂݎA +'APINGXgViewp[^ɓnDictionarygݗĂB +'FilterESorterƂ0̏ꍇNothingԂiViewp[^̂t^Ȃ߁j +Function BuildViewFromSheet() As Object + Dim colFilter As New Dictionary + Dim r As Long + r = 3 + Do While Trim(defaultSh.Cells(r, "F").Value) <> "" + colFilter.Add defaultSh.Cells(r, "F").Value, defaultSh.Cells(r, "G").Value + r = r + 1 + Loop + + Dim colSorter As New Dictionary + r = 3 + Do While Trim(defaultSh.Cells(r, "H").Value) <> "" + colSorter.Add defaultSh.Cells(r, "H").Value, defaultSh.Cells(r, "I").Value + r = r + 1 + Loop + + If colFilter.count = 0 And colSorter.count = 0 Then + Set BuildViewFromSheet = Nothing + Exit Function + End If + + Dim viewObj As New Dictionary + If colFilter.count > 0 Then + viewObj.Add "ColumnFilterHash", colFilter + End If + If colSorter.count > 0 Then + viewObj.Add "ColumnSorterHash", colSorter + End If + + Set BuildViewFromSheet = viewObj +End Function + '****************************************************************************** 'REST APIďo '@method@GetPOST