• ベストアンサー

リンクとリンクの間に空白の行が

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はまったくの初心者です。ようやくインデントができた程度です。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tochansa
  • ベストアンサー率76% (23/30)
回答No.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>" が答えに近いのかな?

quicon9ue
質問者

お礼

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

その他の回答 (1)

  • uriboar
  • ベストアンサー率15% (143/916)
回答No.1

こういう場合、生成された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を生成するようにしてみてはいかがでしょうか?

quicon9ue
質問者

お礼

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