フォルダーから 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 が使用されている場所で表示されます