• ベストアンサー

コピーした複数行の文章を手っ取り早くHTMLに直したいのですが。

コピーした縦に何行もある文章を、手っ取り早くHTMLに直す方法のによい方法はないでしょうか。2chによく貼られるようなタイプの文章です。 例えば おれがおいしいとおもう果物と野菜のランキングのような文章で 100点 りんご  99点 もも  メロン  98点 ぶどう みかん 大きいメロン 97点 イチゴ めろん 小さいメロン 96点 びわ トマト  95点 マンゴー 重油 94点 バナナ 灯油 ガソリン 経由 93点 すいか なし 92点 キャベツ 91点 略 90点 89点 88点 87点 86点 のように、網羅的に何十行もあるいろんな文章を自分のサイトに載せる機会が最近多いのですが、こういうときに一番手っ取り早い方法はなんでしょうか。 現在はエクセルでA列に<br>といれておいて、B列に上のような文章をペーストしたあと、A列とB列をコピーして、それを編集するHTMLに貼り付けています。 このような作業を何十回も繰り返し行っているんですが、この方法よりももっと速い方法をおしえていただけないでしょうか。 エディタはHTMLProjectというフリーウェアを使っています。

  • HTML
  • 回答数5
  • ありがとう数6

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

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.3

昔よくやってた気がする。 "正規表現"という手法を知ると、こういう整形作業は楽になります。 というか整形作業をGUIで手作業でやるとか、非常に非効率的です。 特に同じような作業を繰り返す場合。 理屈としては 行頭を"<tr><td>"に置換し、行末は"</td></tr>"に置換 デリミタとなる半角スペースは複数連続しているものを一つに置換した上で "</td><td>"に置換。 です。 この処理を定義したスクリプトを用意しておけば いつでも同じ作業が手軽に行なえるわけです。 昔だと、各タグの後ろにfontsize=とかいっぱい付けていましたが 今だと、cssでうまいこと簡略化できる気がします。 ただ、rowspanとか出てくると手作業で修正することになるかな。

HeyJudy
質問者

お礼

ありがとうございます。正規表現でいろいろ調べてみます。 この整形作業を何度もやる必要があるのです。 HTMLとCSSの一部しかわからないもので。 行1 行2 行3 のコピーを <tr><td>行1</td></tr> <tr><td>行2</td></tr> <tr><td>行3</td></tr> に直してくれて、同時に連続する1byteスペースも置換してくれるスクリプトを用意すれば、いいわけですね。 どうやって用意すればいいんでしょうか・・・。(汗 具体的に申しますと現在は <HTML> <TITLE>ランキングの名前 サイト名<TITLE> <BODY> <h1>ランキングの名前</h1> <--ここからランキング--> <p> <br>一行目 <br>二行目 <br>三行目 </p> </BODY> </HTML> こういったページを何十もつくっているんですが、この作業を簡略化したいのです。 皆様の回答を参考にいろいろ調べてみることにします。

その他の回答 (4)

noname#77303
noname#77303
回答No.5

こんにちは。 様々な手段があるようですが、やはり<pre>タグがもっとも手早いのではないかと思います。 やり方は簡単で、ランキングの部分をコピーして<pre>タグで囲んでしまうだけです。 <pre> 100点 りんご  99点 もも  メロン  98点 ぶどう みかん 大きいメロン 97点 イチゴ めろん 小さいメロン 96点 びわ トマト ・・・ ・・・ ・・・ 1点 ピーマン(苦笑) </pre>

HeyJudy
質問者

お礼

回答ありがとうございます。preタグは大変便利ですね。 ただ指定したwidthを超えてしまう場合などもあるので、 preタグを使わずに整形するようにしました。 皆様の助言を参考に、テキストエディタのマクロ機能をつかって 6タッチくらいで整形されたHTMLをつくれるようになりました。 とても助かりました。ありがとうございます。

  • outbrave
  • ベストアンサー率60% (231/380)
回答No.4

データファイル(CSV)とテンプレート(HTML)からHPを自動生成するソフト bpTran

参考URL:
http://www.vector.co.jp/soft/win95/net/se157300.html
HeyJudy
質問者

お礼

大変参考になります。ありがとうございました。

  • takuranke
  • ベストアンサー率31% (3923/12455)
回答No.2

エクセルならWebページで保存というのがあるのがあるので、 一旦、Webページで保存して、ブラウザで開き、ソースの表示をして、 必要な部分をコピーすれば早いと思います。

HeyJudy
質問者

お礼

質問の仕方がわかりにくくて申し訳ありません。 エクセルをベースでランキングをつくっているというよりは、 2chで貼られるようなランキング形式のコピペをHTML内でけっこうそのままの形でサイトに再現させたりするのに、便宜上エクセルに一度コピーを貼り付けているといった感じです。 エクセルで A列 <br> <br> <br> <br> 略 としておいて、B1のあたりで縦に長いコピーを貼り付けて <br>100点 <br>99点 <br>98点 という風にして、A列とB列をまたコピーしてそれをHTMLに貼り付けているいるかんじです。 これは非効率的ですよね・・・・。

  • masaki34
  • ベストアンサー率48% (19/39)
回答No.1

もっと具体的な使い方を書いた方が、より的確な回答があると思いますが、 ・ソースからコピペ ・<pre></pre>で囲う ・(あれば)エディタのマクロ機能を使う こんなとこでしょうか。

HeyJudy
質問者

お礼

素早い回答ありがとうございます。とても助かります preタグの存在すら知りませんでした。自分なりにいろいろ調べてみます。

関連するQ&A

  • エクセルで並び順について。

    A B 1 2 1りんご    2イチゴ 3 2イチゴ    3バナナ 4 3バナナ    9柿 5 4キウイ    6マンゴ 6 5なし     7びわ 7 6マンゴ 8 7びわ     5なし 9 8メロン       10 9柿 エクセル上でAの列と同じ並び方(同じ行)でBも並べたいのですが、 一番早い方法を教えてください。 ちなみに大量のデータがあるので、関数とかがあれば助かります。

  • エクセルで,複数行のままコピーしたい

    エクセルで,ある1つのセル(例えばA1)に,複数行になっている文字列があります(Alt+Enterにより,セル内で改行したものです). 別のセル(例えばB2)に「=A1」と入力すると,B2にはA1にある文字列が表示されるのですが,改行が消えてしまい,1行で表示されてしまいます. 改行を消さずにコピーする方法はないでしょうか.教えてください.エクセルのバージョンは2010です. よろしくお願いします.

  • VBAで行のコピー

    タイトルの通りなのですが、VBAで行のコピーを行いたいのですが、うまくいきません。教えて下さい。  あ 1 (空白)  い 2 A  う 3 (空白)  え 4 (空白)  お 5 B この様な表があるのですが、3列目に空白以外の文字があった場合その下に1行コピーをしたいのです。 上の表の場合は3列目にAがあるので"い"と"う"の間に"い"の行をコピーしてもう一行入れたいです。Bについても同様です。 すいませんが、教えていただければありがたいです。 よろしくお願いいたします。

  • 一行の数値データを3行に分けてコピーしたい

    次のように、山が3つある数値データがあります。(実際には2000行の連続データです。) A列 0.2 0.3 2.5 5.8 7.6 7.4 7.7 3.5 2.4 0.1 2.0 3.0 6.2 5,4 6,4 7.9 8.0 7.7 4.5 0.1 0.2 0.4 2.7 2.6 3.5 5.2 7.3 7.2 7.4 3.3 0.3 この三つの山がある一つのデータを一山ずつ3つの行に次のような形にコピーしたいです。 B列 0.3 2.5 5.8 7.6 7.4 7.7 3.5 2.4 C列 2.0 3.0 6.2 5,4 6,4 7.9 8.0 7.7 4.5 D列 0.4 2.7 2.6 3.5 5.2 7.3 7.2 7.4 3.3 3つのそれぞれ山を違う列にコピーしたら、それぞれの列の最大値を取り出すことが目的です。 ですから、コピーするときに、3つの山を区別する点は最大値のあたりのデータが残ってさえいたら、だいたいで良いです。 今は、A列のデータをグラフにして、目で見て大体の範囲の行をコピーしています。 何か便利な方法はあるでしょうか? よろしくお願いします。

  • Excelで複数条件を満たすのは何行目?

    Excel VBAにてどういう方法があるのか考えています。 A列はHかL、B列は1,2,3のようなデータにおいて  条件1:A列はH  条件2:B列が2 を満たす行は何行目かを探して、C列のその行のセルに コピーしていたデータを貼り付けたい (この場合、2つの条件で重複する行はありません) A列 B列 C列 H  1 H  2  ■←ここへ貼り付け H  3 L  1 L  2 L  3 この場合は、2行目なので、C列の2行目のセルをselectしてpasteしたいのです。 良い方法をご存じの方、よろしくお願いいたします。

  • 飛ばしてコピーする

    Excelで、A列に3行に渡って  A 1あ 2い 3う と入力されています。 この3行をコピーして、B列に貼り付けたいのですが、  B 1あ 2い 3 4う となるように、3行目を飛ばしてコピーしたいのですが、こんな割のいい方法はありますでしょうか? 無いなら無いでかまいません(^^ゞ あまりに割のいいコピーの仕方なので

  • 最終行までコピーする

    A1「単価」,B1「数量」の表があります C1「売上」としてC2にa2*b2の式をいれc列の最終行までコピーしたいのです。A列、B列にブランクはありません。最終行は決まっていません 似たようなサンプルは見かけるのですがピタリのは見つけられませんでした。 当方まだマクロの入り口をウロウロしている程度なのでよろしくお願いします

  • 色なし行のコピー

    sheet1にA1:E700の表が有り、B列からE列までセルを黄色にした行がランダムに幾つも有ります。このとき、sheet2のA1から上に詰めて色なし行だけをコピーする記述教えてください。(例えば3行目がB列からE列まで黄色のセルだったら3行目はコピーしない)、よろしくお願いします。

  • エクセルで行挿入&コピー

    エクセルにて下記のように入力してあります。 A     B    C     D 111   111 222   111 次にC列の一行目にM001、D列の一行目にA001を入力した後(セルは2行目)に任意の行数を挿入し、さらにA,B列は一行目をコピー、C,D列は連番になるようにVBで作成するにはどうしたらいいでしょうか。 よろしくお願い致します。

  • Excelマクロで行を分割してコピーしたいのですが・・・

    いろいろなサイトで調べたのですが、方法が見つからずご質問させて頂きます。 Excelシートの中で値が入っている行まで順番に読み、A列のセルの値が'東京'かつB列の値が'2'以上の行があった場合に、その行をB列の値の数だけその行の下にコピーで挿入したいのですが、どのようなマクロにすれば良いかご教授頂けないでしょうか? 例) セルA1='東京' セルB1='3' の場合、 ---------------------------------- セルA1='東京' セルB1='1' セルA1='東京' セルB1='1' セルA1='東京' セルB1='1' ※セルB1を値の数だけ分割し、なおかつ値を'1'にする ※分割が終わったら、分割元の行を削除する ※その他の列の値はそのままコピーする 以上、宜しくお願い致します!

専門家に質問してみよう