【XML + Excel2003】

以下のようなものを作りたいと考えています。

①VBAでHTTPリクエストをPHPに出す
②PHPがMySQLからのデータでXMLを自動生成し返す
③VBAでXMLを受け取る
④エクセルシート上でユーザが編集
⑤編集された内容をPHPにHTTPで渡す
⑥PHPが変更内容をMySQLに反映

①~③はできていますが、
④のXMLデータをシート上に表示するところで困っています。

Range("A1").value =
のようにするとせっかくのXML情報が失われてしまいます。
XMLをインポートする形を取ると、
シート上に変な形で表示されます。
(なんか、ツリー構造?がそのままそっくり・・・)

UI的にもデータ的(XML情報を保持)にもきれいな形で処理したいのですが、どうしたらよいのでしょうか?

XMLのデータ以外にもXML関連のファイルが必要なのでしょうか?
(DTDやXSDとか?)

因みにVBA内ではDOMを使用してXML処理をしています。

よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/11/29 02:10:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答0件)

回答はまだありません

  • id:llusall
    >Range("A1").value =
    >のようにするとせっかくのXML情報が失われてしまいます。

    具体的にはどのように失われてしまうのでしょうか?
    例を書いてもらえると良いかもしれません。

    --------------------------------------------------------
    仮に、エクセルにキレイに表示できたとして、XMLやHTMLの修正は面倒そうですよね。
    単純にテキストファイルに落として修正させたほうが良いのでは?
  • id:Mook
    PHP 経由はどうしても必要なのですか?

    VBA から直接MySQLへ入出力すればよいと思うのですが。
  • id:Nigitama
    llusallさん、Mookさん
    返事が遅くてすいません。

    >llusallさん
    XML情報が失われてしまうというのは、
    単にシート上に値を並べるだけで、
    その値がどんなタグに関連付けられているのか、
    分からなくなってしまうということです。
    もちろん、人間の目から見て「1番目のデータの列はこれだ」ということは分かります。
    しかし、シート上の値を編集してそのまま簡単に
    エクスポートすることができなくなってしまうのです。

    >Mookさん
    ODBCを使ったりすることも考えたのですが、
    社内の100人にドライバをインストールすることは
    あまり現実的ではないと考えています。
    XMLを使うと古いエクセルでは使用できなくなってしまうのですが、
    比較的新しいエクセル、もしくはPersonal Editionではないものを想定しているので、
    XMLとPHPを使おうと考えています。
    (PHPを使うのは単に自分が使えるというだけの理由です)

    因みに、XMLを使わずにCSVファイルを使用する方法は
    既に実装済みで運用もしています。

    また違う機会にはてなで質問を出そうと思います。

    ご質問ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません