[PHP-users 27890] COMを使用してのEXCELの行挿入について

KAWASAKI, Shingo s.kawasaki @ media-trust.com
2005年 12月 21日 (水) 16:45:49 JST


メディア・トラストの川崎と申します。

先日はSpreadsheet_Excel_Readerの質問でお世話になりました。


で、今度はCOMの方で困ってしまいました。

テンプレートで保存しているEXCELを読み込み、データ編集して吐き出す、という一般的な事を行っており、
実際にデータの書き込み等はうまくいっております。

しかし、行の挿入がどうしてもうまくいきません。


ASPのサンプルや、マクロサンプルの命令をPHP方式に合わせてしているつもりなのですが、
全く反応してくれません。
さらに困った事に、エラーが出るわけでもありません。

プログラムの書き方が悪いのか?それとも根本的に何かが間違えているのでしょうか?
何かご存知であればご教示願います。


以下にソース・環境を記します。

-- test.php start ----------------------------------

	require_once('excel.php');

	$ex = new Excel; 
	$ex -> sheet_open($filename, $sheet);

  // ↓これが全く無反応です
	$ex ->sheet_rows_add("A3", $sheet);

-- test.php end ----------------------------------


== excel.php start ================================

class excel { 
var $excel; 
	function excel() { 
		$this -> excel = new COM("Excel.sheet") or die("失敗"); 
	} 

	function sheet_open($tmp,$sheet) { 
		$wkb = $this -> excel -> application -> workbooks ->Open($tmp);
		$sheets = $wkb -> Worksheets($sheet);
		$this -> excel -> application -> DisplayAlerts ="False"; 
		$this -> excel -> application -> Visible = "False";
	}

	//行追加(行全体の追加)
	function sheet_rows_add($row,$sheet) {
		$sheets = $this -> excel -> Application -> Worksheets($sheet);
		$sheets ->activate;
		$sheets ->range($row);
		$sheets ->Selection -> EntireRow -> Insert;
	}
} 

== excel.php end ================================


環境は、
OS:WIN2000server
DB:PowerGres2.3-ja
Apache2.0.55
PHP4.4.1
です。


よろしくお願いします。


====================

  株式会社メディア・トラスト
  川崎 晋護 (Kawasaki Shingo)
  Tel :06-6346-6301
  Fax :06-6346-6302
  s.kawasaki @ media-trust.com
  〒530-0003
  大阪北区堂島1-1-5 梅田新道ビル10F

====================




PHP-users メーリングリストの案内