人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

EXCEL2007、PHPのCOM呼び出し("excel.application")で、
excelファイル編集→pdfへのコンバート(ExportAsFixedFormat)をしています。

現サーバ:os:windows2003
新サーバ:os:windows vista

なぜか、現サーバでは動くソースが、新サーバでは動きません。
他に安価なツールも見当たらず(Convert XLS は約 6万円)、
どうにか解明したいのです。
ご存知のかたがいらっしゃいましたら、対策を教えて頂けませんか?


●質問者: yayoharu
●カテゴリ:コンピュータ
✍キーワード:application Excel OS PDF PHP
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Galapagos
●50ポイント

PHPのバージョンや、どのようなエラー状況なのか分からないので、以下の点をご確認下さい。


  1. 新サーバにはExcel2007またはOffice2007をフルセットでインストールしていますか? たとえばVBAがインストールされていないということはありませんか?
  2. COM呼び出しには成功するのですか? たとえば、Excelブックを新規作成し、Worksheetに書き込むということをPHPスクリプトで実現できていますか?
◎質問者からの返答

どうもありがとうございます。

現サーバ:os:windows2003、PHP 5.2.9-2、

新サーバ:os:windows vista、PHP Version 5.3.0

です。

1.Alt + F11 キーを押すと、 Visual Basic Editor が開きます。入っているように思います。

2.新サーバの挙動として、呼び出しは成功しています。EXCELファイルの編集→EXCELファイルでの保存(SaveAs)は成功しています。

追記、新サーバで、手動でPDFファイルへの保存は可能です。(アドオンは入っている。)


2 ● Galapagos
●0ポイント

現サーバ:os:windows2003、PHP 5.2.9-2、

新サーバ:os:windows vista、PHP Version 5.3.0

PHP 5.2と5.3では仕様が大幅に変わっています。

COMクラスは同じなのですが、たとえばereg系関数やsplit系関数は廃止されています。

このあたりの影響がないかどうかご確認下さい。

詳細は「PHP 5.3の新機能と変更点」をご覧下さい。

◎質問者からの返答

Galapagosさん、どうもありがとうございます。

ereg系は使っていないので、おそらく違う問題と踏んでいるのですが…


3 ● きゃづみぃ
●49ポイント

>variant->ExportAsFixedFormat(0,'C:\test.xls.pdf')

Vistaだと Cドライブのルートにファイルを作成できないかと思います。

Cドライブのルートに何かフォルダを作ってそこに保存させてやればいいのかと。

◎質問者からの返答

どうもありがとうございます。

サンプルの7行目を、

$path ="C:\\xampp\\test.xls";

に変えて試しました。

結果は、

SaveAs → 正常

ExportAsFixedFormat → Fatal error(内容はコメントに書いたものと同等。)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ