-2

フォルダーから .dat および .ctl ファイル拡張子を取得し、それを 2 次元配列などに配置したいと考えています。次に、電子メールの本文の 2 つの異なる列の下に 2 つの異なるファイル拡張子を表示します。どうやってするの。

SysDragon に感謝しますが、テーブルの行にあるファイル名を動的に取得するにはどうすればよいですか。メールの本文に、1 つの列に datfiles と他の ctl ファイルを含む表形式を表示する必要があります。行を埋めるにはどうすればよいですか。これまでの私のコードは次のとおりです。

Dim str As New StringBuilder
            str.Append("<html><head></head><title></title>")
            str.Append("<body style='font-size:12px;font-family:Trebuchet MS;'>")
            str.Append("<table width='600px' align='center' border='0' cellpadding='0' cellspacing='0' style='border-top:5px solid white;'")
            str.Append("<tr><td>DATFiles</td><td>CTLFiles</td></tr><tr><td>  datfiles  </td><td> ctlfiles </td> </tr></tr></table>")

datfiles と ctlfiles は、特定のフォルダーに存在するファイルの名前である必要があります。

4

2 に答える 2

1

2 つの異なる配列でファイル リストを取得し、配列をループして html を生成する必要があります。

Dim datFiles As String() = Directory.GetFiles("Y:\~", ".dat")
Dim ctlFiles As String() = Directory.GetFiles("Y:\~", ".ctl")

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
于 2013-04-30T13:43:55.680 に答える
0

これらを使用して、ディレクトリから必要なファイルを取得できます (たとえば、拡張子を指定します)。

リンク先の MSDN ドキュメントを参照してください。彼らにも例があります。


ファイルを含む配列を取得したら、メール内の列にデータを配置します。メール本文に HTML (表など) を使用するか、タブ文字を使用したプレーン テキストを使用してそれを行うことができます。

本文の電子メールに HTML コードを使用するには、次を使用します。

Dim mail As New Net.Mail.MailMessage()
mail.IsBodyHTML = True

次に、必要なタグを使用します。

<table>
    <tr>
        <td>File DAT 1</td>
        <td>File CTL 1</td>
    </tr>
    <tr>
        <td>File DAT 2</td>
        <td>File CTL 2</td>
    </tr>
</table>

ファイルの配列のループを使用して、これを HTML 本文にテキストとして追加する必要があります。


ループを使用してテーブルにデータを入力するには、簡単な例を示します。

Dim sBodyTable As String = "<table>"
Dim iMaxIndex As Integer = IIf(datFiles.Length > ctlFiles.Length, datFiles.Length, ctlFiles.Length)

For i As Integer = 0 To iMaxIndex - 1
    sBodyTable &= "<tr><td>"
    sBodyTable &= IIf(i < datFiles.Length, datFiles(i), "")
    sBodyTable &= "</td><td>"
    sBodyTable &= IIf(i < ctlFiles.Length, ctlFiles(i), "")
    sBodyTable &= "</td></tr>"
Next

sBodyTable &= "</table>"
于 2013-04-30T11:38:56.993 に答える