diff --git a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas index b7c06899..cf648223 100644 --- a/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas +++ b/XVBA/新版着工要因閲覧シート/vba-files/Module/Module1.bas @@ -23,6 +23,8 @@ Sub run() ' Call init + On Error GoTo Cleanup + defaultSh.Range("D4").Value = Now defaultSh.Range("D3").Value = "捞..." Application.ScreenUpdating = False 'ʍXV~ @@ -30,25 +32,37 @@ Sub run() '------------------------------------------ Debug.Print "Jn" + Dim success As Boolean Select Case fetchMethod Case "Get" - Call runGetFlow + success = runGetFlow() Case Else - Call runExportFlow + success = runExportFlow() End Select Debug.Print "I" '------------------------------------------ + +Cleanup: Application.Calculation = xlAutomatic 'vZĊJ Application.ScreenUpdating = True 'ʍXVĊJ defaultSh.Range("D5").Value = Now defaultSh.Range("D6").Value = (defaultSh.Range("D5").Value - defaultSh.Range("D4").Value) * 86400 - defaultSh.Range("D3").Value = "捞" + + If Err.Number <> 0 Then + defaultSh.Range("D3").Value = "捞siG[j: " & Err.Description + Err.Clear + ElseIf Not success Then + defaultSh.Range("D3").Value = "捞sif[^擾G[j" + Else + defaultSh.Range("D3").Value = "捞" + End If End Sub '****************************************************************************** 'ExportiCSVS擾jł̃f[^捞 -Sub runExportFlow() +'TrueAf[^擾łȂꍇFalseԂ +Function runExportFlow() As Boolean Dim resData As Variant Debug.Print "f[^擾JniExportj" @@ -56,14 +70,22 @@ Sub runExportFlow() If IsEmpty(resData) Or resData = "" Then Debug.Print "f[^擾ł܂ł" + runExportFlow = False Else + 'Gets̃wb_\cĂꍇɔAe[u폜Ă蒼 + On Error Resume Next + ThisWorkbook.Sheets(tableId).ListObjects(tableId).Delete + On Error GoTo 0 + Call exportCSVDataToSheet(resData, tableId) + runExportFlow = True End If -End Sub +End Function '****************************************************************************** 'Getiapi-record-get-multijł̃f[^捞 -Sub runGetFlow() +'TrueAf[^擾łȂꍇFalseԂ +Function runGetFlow() As Boolean Dim records As Collection Debug.Print "f[^擾JniGetj" @@ -71,12 +93,15 @@ Sub runGetFlow() If records Is Nothing Then Debug.Print "f[^擾ł܂ł" + runGetFlow = False ElseIf records.count = 0 Then Debug.Print "f[^擾ł܂ł" + runGetFlow = False Else Call getRecordsDataToSheet(records, tableId) + runGetFlow = True End If -End Sub +End Function '****************************************************************************** 'CSVf[^擾 @@ -410,7 +435,11 @@ Function getRecordsDataToSheet(records As Collection, targetSheet As String) Dim curRec As Dictionary Set curRec = flatRecords(i) For j = 1 To maxCols - dataArr(i, j) = curRec(headerKeys(j - 1)) + If IsObject(curRec(headerKeys(j - 1))) Then + dataArr(i, j) = "" + Else + dataArr(i, j) = curRec(headerKeys(j - 1)) + End If Next j Next i