-1

フォルダーから 2 つの異なるファイル タイプのリストを取得し、それをメールの本文に表形式で表示する必要があります。私のコードは次のとおりです。

Dim dat_files As String() = Directory.GetFiles("C:\~", "*.dat")
            Dim ctl_files As String() = Directory.GetFiles("C:\~", "*.ctl")

            For Each ctlfiles In ctl_files
                For Each datfiles In dat_files
                    Email(datfiles, ctlfiles)
                Next

            Next

メールのコードは次のとおりです。

Public Shared Sub Email(ByVal datfiles, ByVal ctlfiles)

'いくつかのコード

 Dim str As New StringBuilder

            Dim index As Integer = 0

            While index < datfiles.Count Or index < ctlfiles.Count
                str.Append("<tr>")
                str.Append("<td>" & datfiles.ElementAtOrDefault(index) & "</td>")
                str.Append("<td>" & ctlfiles.ElementAtOrDefault(index) & "</td>")
                str.Append("</tr>")

                index += 1
            End While
            objMail.Body = sb.ToString

これは機能していません。問題は、メール内のすべての dat および ctl ファイルを取得していないため、それらを 2 つの異なる列に表示できないことです。私はあまりにも多くを求めていることを知っていますが、誰か助けてください.

これらは私が行った変更です-

Dim dat_files As String() = Directory.GetFiles("C:\~", "*.dat")
            Dim ctl_files As String() = Directory.GetFiles("C:\~", "*.ctl")
            Email(dat_files, ctl_files)

そして、メールの部分は-

 Public Shared Sub Email(ByVal datfiles As String(), ByVal ctlfiles As String())

Dim sb As New StringBuilder

            Dim index As Integer = 0

            While index < datfiles.Count Or index < ctlfiles.Count
                sb.Append("<tr>")
                sb.Append("<td>" & datfiles.ElementAtOrDefault(index) & "</td>")
                sb.Append("<td>" & ctlfiles.ElementAtOrDefault(index) & "</td>")
                sb.Append("</tr>")

                index += 1
            End While
            objMail.Body = sb.ToString

エラー「'Count' は 'System.Array' のメンバーではありません」は、count または ElementAtOrDefault が使用されている場所で表示されます

4

1 に答える 1