|
以下のロジックがリストボックスにおいて、1ファイルのみ選択し、読込を行う処理になります。 今回の修正点は、拡張モードでshift+クリックで複数選択し、選択されたファイルを読み込み、読み込んだファイルの内容を元に入金金額等の集計を、指定されたラベル(num_NYUKIN_KEI)等に表示させるという仕様になります
'====================== ' 読込ファイルのオープン '====================== FnoIN = FreeFile() Open lblFILE_PATH For Input As #FnoIN <----lblFILE_PATHはリストボックス内で選択された1ファイル '====================== ' 出力ファイルのオープン '====================== g_lngCNT = 0 FnoOUT = FreeFile() Open lblCOPY_PATH & lblFILE_PATH_BK For Output As #FnoOUT Do While Not EOF(FnoIN) Line Input #FnoIN, strDATABUF g_strCSV_SYONIN_NO = Mid(strDATABUF, 72, 7) lngOricoNo = Mid(strDATABUF, 22, 5) lngTORI_DENNO = Nz(DBLookup("TORI_DENNO", "ORICO_PAYMENT", "ORICO_DENNO = " & lngOricoNo & " AND SYONIN_NO = '" & g_strCSV_SYONIN_NO & "'"), 0) If lngTORI_DENNO = 0 Then If wk_TOUITU_CD = Mid(strDATABUF, 27, 4) Then '入金額 wk_NYUKIN_KEI = Mid(strDATABUF, 52, 8) wk_GOUKEI = wk_GOUKEI + CLng(wk_NYUKIN_KEI) 'コピーファイルに書込み Print #FnoOUT, strDATABUF g_lngCNT = g_lngCNT + 1 End If End If Loop Close #FnoIN Close #FnoOUT
num_NYUKIN_KEI = wk_GOUKEI num_NYUKIN_T_KEI = num_NYUKIN_T_KEI + wk_GOUKEI num_NYUKIN_T_CNT = num_NYUKIN_T_CNT + g_lngCNT
If wk_GOUKEI > 0 Then strMsg = wk_TCREDIT_CD & "(" & g_lngCNT & "件)の入金消込データの合計額が合っていれば、" _ & "入金消込処理を行います。" & vbCrLf & "このまま処理を継続しますか?" If MsgBox(strMsg, vbYesNo + vbExclamation + vbDefaultButton2, "TNB130") <> vbYes Then Exit Sub End If Else strMsg = wk_TCREDIT_CD & "の入金消込データは存在しませんでした。" MsgBox strMsg, vbOKOnly + vbExclamation, "TNB130" Exit Sub End If
|