現在VB.NETを勉強しながら簡単なアプリを作成しています。
アプリの流れとしては
指定フォルダ内のExcelファイルを読み込み、
・対象Excelファイル名 を配列A(i)へ
・対象Excelファイル内の指定セルの内容 を配列B(i)へ
それぞれ保持します。(ファイル数分処理をループする想定)
全てのファイルの読み込み終了後、配列B内に重複する値があるか判定する処理を行う。
重複していた値をまとめて表示。(複数重複のパターンも有)
【例】
AAAAA.xlsxとBBBBB.xlsxの内容に重複があります
AAAAA.xlsxとCCCCC.xlsxの内容に重複があります
EEEEE.xlsxとGGGGG.xlsxの内容に重複があります
(以下、重複したものを全て表示)
VB.NET
1For Each strFilePath As String In _ 2 System.IO.Directory.GetFiles(ImportSourceFolder, _ 3 "*.xlsx", IO.SearchOption.AllDirectories) 4 5 ReportName = strFilePath.Substring(InStrRev(strFilePath, "\")) 6 ReportCount += 1 7 ReDim Preserve ReportList(ReportCount - 1) 8 ReportList(ReportCount - 1) = ReportName 9 10 xlApp = New Application 11 xlBook = xlApp.Workbooks.Open(strFilePath) 12 xlSheet = DirectCast(xlBook.Worksheets(1), Worksheet) 13 14 sampleId = DirectCast(xlSheet.Cells(5, 2), Range).Value.ToString 15 16 If sampleId <> "" Then 17 ReDim Preserve UserList(ReportCount - 1) 18 sampleId = sampleId.Substring(InStrRev(sampleId, ":")) 19 UserList(ReportCount - 1) = sampleId 20 End If 21 22 xlBook.Close(SaveChanges:=False) 23 xlApp = Nothing 24 25Next
現在上記まで実装し、
Excelファイル名
Excelファイル内セル内容
の配列保持までは完了しました。
あとは全ての重複を確認するだけなのですが、ネットで約3時間ほど検索しながら
試行錯誤しているのですが、中々思うような結果が得られません。
何かいい方法はありませんでしょうか。
回答2件
あなたの回答
tips
プレビュー