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

環境はxp、apache2、php5、Postgresql8.2です。
1台のPCをサーバ&クライアントにしています。
ただ今PHPとPostgresqlの勉強をしています。

いつも質問に答えてくれてありがとうございます。
サーバーはwindows、Excelが入っています。

伺いたいことは、
PHPからExcelVBAを制御できるかどうかということです。

過去の質問を検索したところ、
>system系の関数でWSHからVBSを制御する手はあるかもしれません。
と、書かれていたのですが
今ひとつ分かりません。

ご教示して頂けたら幸いです。

A 回答 (4件)

>Excelで編集をするという処理は、クライアントで行うと言うことでしょうか?



いえ、サーバ側です(そうでないと意味がないのですよね?)

>このワーク領域に保存して、監視、DBに保存するプロセスは、
>PHPではなく、どのような言語を使うのでしょうか?

UnixサーバでやろうとするとExcelが扱えるライブラリのある言語に限定されますが、Win32前提ならWin32のアプリが作れれば「何でもいい」と思います(ほとんどの言語でOfficeアプリとの連携は出来ると思うので)。

ワーク領域と書きましたが、いったん(phpの時点で)DBに格納までしておいて、定期実行プロセスで「Excelの内容を書き替え&書き替え済みFLAGを立てる」でもいいと思います。どういう手法を使うかは要求仕様とのすり合わせになります(結果出力までのタイムラグをどの程度まで許容できるかとか)。
    • good
    • 0
この回答へのお礼

ご返事有り難うございました。

ようやく理解することが出来ました。
ただ完璧ではないと思うので
またご教示して頂けたら幸いです。

お礼日時:2008/02/15 17:02

>1.PHPから


>2.Excelファイルのデータを吸い上げて、
>3.postgresSQLにデータを格納する。
>4.PHP+postgresSQLでデータを更新
>5.4で更新した結果をExcelファイルに保存する
>
>どうしてpostgresSQLとExcelの二重管理をするかといいますと
>WEBにアクセスできる人はWEBで、
>アクセス出来ない人にはExcelファイルを配布したいからです。

これだけなら、単にファイルの転送・格納・出力というだけなので、VBAなどの出番はないように思えます。Excelでなく画像ファイルに置き換えればごく普通のスクリプトですね。

>勉強という意味合いが強いので
>PHPからExcelを制御できるようになれば
>今後役立つと思うからです。

残念ながらそれほど出番はないでしょう>phpからExcel。サーバ側で何かするにしてもクライアントの相手をするプロセスが同時にあれこれしないといけなくなるような組み方はしません(もちろんCSVなどの軽い処理であればphpでもかまいません)。時間がかかるような処理は、いったんワーク領域に保存→その領域を監視しているプロセスが処理してDBに保存→phpはDBの中身を使うといった流れだと思います。そういう処理分割や連携を学ぶほうが役立つような気がします。

この回答への補足

ご返事有り難うございました。

>サーバ側で何かするにしてもクライアントの相手をするプロセスが
>同時にあれこれしないといけなくなるような組み方はしません
「同時にあれこれしないといけなくなる」というところが
少し分からないのですが・・・。
Excelで編集をするという処理は、クライアントで行うと言うことでしょうか?

>時間がかかるような処理は、
>いったんワーク領域に保存→
>その領域を監視しているプロセスが処理してDBに保存→
このワーク領域に保存して、監視、DBに保存するプロセスは、
PHPではなく、どのような言語を使うのでしょうか?

大変にお手数ですが
ご教示して頂けたら幸いです。

補足日時:2008/02/15 13:28
    • good
    • 0

「なぜサーバ側で(しかもphpで)それをしないといけないのか?」と思うのですが、いったいどういう処理をしたいのでしょう?切り分けが出来ていないように思えるのですが・・。



>>system系の関数でWSHからVBSを制御する手はあるかもしれません。
>と、書かれていたのですが
>今ひとつ分かりません。

phpからは直接VBAを制御できないので、WSHで組んだものをsystem()などで実行させれば?という意味だと思います(WSHはわかりますよね?)。

正直、phpからのExcelってこれ↓以上が必要な局面が思いつかない。

http://maglog.jp/lightbox/index.php?module=Artic …

この回答への補足

>「なぜサーバ側で(しかもphpで)それをしないといけないのか?」と思うのですが、
>いったいどういう処理をしたいのでしょう?切り分けが出来ていないように思えるのですが・・。
したい処理というのは#1で補足したとおりです。
そうでよね。
普通はこういう事はしないんですよね。
もし宜しければ、普通はこのように作るというようなことがありましたら
ご教示して頂けたら幸いです。

>(WSHはわかりますよね?)。
知りませんでしたので
ネットで調べました。
ありがとうございました。

補足日時:2008/02/14 15:27
    • good
    • 0

>PHPからExcelVBAを制御できるか



なにがしたいのかによります。
具体的にどうしたいのか補足したほうがよいでしょう。
(できるとも、できないともなんとも言えない内容なので)

この回答への補足

説明不足で申し訳ございません。

行いたい処理は、

1.PHPから
2.Excelファイルのデータを吸い上げて、
3.postgresSQLにデータを格納する。
4.PHP+postgresSQLでデータを更新
5.4で更新した結果をExcelファイルに保存する

どうしてpostgresSQLとExcelの二重管理をするかといいますと
WEBにアクセスできる人はWEBで、
アクセス出来ない人にはExcelファイルを配布したいからです。

ただ、一番大きな理由は
勉強という意味合いが強いので
PHPからExcelを制御できるようになれば
今後役立つと思うからです。

補足日時:2008/02/14 15:18
    • good
    • 0

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