アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBSでhtmlファイルをつくるプログラムをつくっています。以下はその一部抜粋です。

For Each dataFile In aFolder.Files
indexPageTS.WriteLine "<p style=""text-indent:" & n & "em""><a target=""_blank"" href='" & fso.BuildPath(aFolder.Path, dataPageName) & "'>" & linkName & "</a>"
Next
indexPageTS.WriteLine "</p>"

とにかく、ファイル名でリンクを作ってループしているのですが、これをブラウザで表示すると、そのリンクとリンクの間に空白の行が挿入されてしまっているようなのです。いったいなぜでしょうか?
HTMLはまったくの初心者です。ようやくインデントができた程度です。よろしくお願いします。

A 回答 (2件)

まずはそのプログラムで出力されているHTMLを見てみましょう


きっと下記のようになっているはずです、
<p style="text-indent:10em">
<a target=""_blank"" href=''>LinkName</a>
<p style="text-indent:10em">
<a target=""_blank"" href=''>LinkName</a>
<p style="text-indent:10em">
<a target=""_blank"" href=''>LinkName</a>
<p style="text-indent:10em">
<a target=""_blank"" href=''>LinkName</a>
</p>

<p>の開始に対して</p>の閉じが対になっていないのが原因と思われます。
(タグが開始終了で対になる必要があるのはわかりますよね?)

そしてそんな風になってしまう原因はForEachの中で<p style=....>まで出力してしまっていることです。
For Each dataFile In aFolder.Files
indexPageTS.WriteLine "<p style=""text-indent:" & n & "em""><a target=""_blank"" href='" & fso.BuildPath(aFolder.Path, dataPageName) & "'>" & linkName & "</a>"
Next
indexPageTS.WriteLine "</p>"

質問者さんが最終的にどういう出力を求められているかは分かりませんが、

indexPageTS.WriteLine "<p style=""text-indent:" & n & "em"">"
For Each dataFile In aFolder.Files
indexPageTS.WriteLine "<a target=""_blank"" href='" & fso.BuildPath(aFolder.Path, dataPageName) & "'>" & linkName & "</a>"
Next
indexPageTS.WriteLine "</p>"



indexPageTS.WriteLine "<p style=""text-indent:" & n & "em"">"
For Each dataFile In aFolder.Files
indexPageTS.WriteLine "<a target=""_blank"" href='" & fso.BuildPath(aFolder.Path, dataPageName) & "'>" & linkName & "</a><br/>"
Next
indexPageTS.WriteLine "</p>"

が答えに近いのかな?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
何というか、行が分かれててもいいんですね。
いただいたコードを頼りに、また月曜日にがんばってみます。

お礼日時:2010/02/13 10:39

こういう場合、生成されたHTMLのソースを提示したほうが解決の糸口が見つかりやすいかもしれません...



と思いましたが、段落<p>要素は、多くのブラウザの標準スタイルで、1行分程度のマージン(余白)を取るようになっていますので、当然の結果と思います。
<p>のスタイルで、マージンを0にすれば解決しますが、何かを列挙するときはリスト<ul>などを使ったほうがHTMLの記述としては適切ですね。

<ul>
<li><a href="xxx.html">xxx</a></li>
<li><a href="yyy.html">yyy</a></li>
<li><a href="zzz.html">zzz</a></li>
....
</ul>

こんな感じのHTMLを生成するようにしてみてはいかがでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
今後はHTMLのほうを貼り付けます。
<ul>とか<li>とかについても調べてみます。

お礼日時:2010/02/13 10:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!