dポイントプレゼントキャンペーン実施中!

エクセルにデータを入力し、下記のようなhtmlファイルに各々のセルに対応した数値が代入されたものを生成したいと考えています。

<a href="【A1】.html">【A2】</a><br/>
<a href="【B1】.html">【B2】</a><br/>
<a href="【C1】.html">【C2】</a><br/>
<a href="【D1】.html">【D2】</a><br/>
<a href="【E1】.html">【E2】</a><br/>

VBAを使ってこのようなことは可能でしょうか?
また、そのほかどのような方法が考えられますでしょうか?
なにとぞよろしくお願いいたします。

A 回答 (2件)

VBAでもできるし、式だけでもできますが。



VBAなら、sheets("シート名").cells(1,1).valueがA1の値だから、
open "作成するhtmlファイル" for output as #1
print #1,"<a href=""" & sheets("シート名").cells(1,1).value & ".html"">" & sheets("シート名").cells(1,2).value & "</a><br/>"
・・・
close
といった具合ですし、
式だけで作ろうと思えば、
別のシートに、
="<a href=""&シート名!A1&".html"">"&シート名!A2"</a><br/>"
・・・
と式を入れておいて、そのシートだけ保存すればいい。
(新しいマクロを記録しておくと保存するボタンも作れますし。)

個数が可変かどうか?(というか上限が決めれるかどうか)
で使い分けたらいいと思います。
    • good
    • 1
この回答へのお礼

ありがとうございます。
参考にしてやってみます。

お礼日時:2011/08/05 17:08

動的にでなければ私なら


1)保存したファイル(新しいエクセルならXMLですから)からXSLTを使ってHTMLにする。
2)いったんCSVで保存して、テキストエディタか、CGIでHTMLに変換する。
 (2)の場合CSVからXMLを作ってXSLTを使う。これは価格表からHTMLを作るときに何度も使いました。XSLTはローカルでは対応しているブラウザが限られるので、サーバーのものを使うほうが良いでしょう。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../xsl/sample.xsl" ?>
<DOC>
 <title>価格表</title>
 <author>
  <firstname>Firstname</firstname>
  <lastname>
   Lastname
  </lastname>
 </author>
 <大分類>
  <title>鍋</title>
  <中分類>
   <title id="wh">両手鍋</title>
   <小分類>
    <title id="wh_st">ステンレス</title>
    <品名>ステンレス1層</品名>
    <表>
     <見出し>
      <項目 縦="3">呼び寸法</項目>
      <項目 縦="3">サイズ</項目>
      <項目>18-0</項目>
      <項目 横="2">18-8</項目>
     </見出し>

@IT:XMLテクニック集 - XML文書をXSLTスタイルシートに動的に紐付ける(ASP.NET編) ( http://www.atmarkit.co.jp/fxml/tecs/003dynstylel … )
とか・・・
    • good
    • 0
この回答へのお礼

高等なテクニックをご教示いただきありがとうございます。
お恥ずかしながら私にはSiegruneさんの方がわかりやすかったです。

お礼日時:2011/08/05 16:55

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