ID: 39930 User updated by: poon dot fung at gmail dot com Reported By: poon dot fung at gmail dot com -Status: No Feedback +Status: Open Bug Type: COM related Operating System: Windows XP PHP Version: 5.2.0 New Comment:
Here is the output of my test run on http://snaps.php.net/win32/php5.2-win32-latest.zip. --- START OUTPUT --- D:\php-bug2>bug2-test1.php TEST #1 OK! D:\php-bug2>bug2-test2.php TEST #2 OK! D:\php-bug2>bug2-test3.php TEST #3 OK! D:\php-bug2>bug2-test4.php TEST #4 OK! D:\php-bug2>bug2-test5.php PHP Fatal error: Uncaught exception 'com_exception' with message 'Source: Unknown Description: Unknown' in D:\php-bug2\bug2-test5.php:9 Stack trace: #0 D:\php-bug2\bug2-test5.php(9): variant->Run('Normal.MyModule...', 'Some value') #1 {main} thrown in D:\php-bug2\bug2-test5.php on line 9 D:\php-bug2>bug2-test6.php PHP Fatal error: Uncaught exception 'com_exception' with message 'Source: Unknown Description: Unknown' in D:\php-bug2\bug2-test6.php:9 Stack trace: #0 D:\php-bug2\bug2-test6.php(9): variant->Run('Normal.MyModule...', 'Some value', 'Some value') #1 {main} thrown in D:\php-bug2\bug2-test6.php on line 9 D:\php-bug2> --- END OUTPUT --- Here are the test programs. --- TEST 1 --- <?php // First test --> This works fine $word = new COM('Word.Application') or die('Start Word automation failed.'); $word->Documents->Open('D:\php-bug2\testme.doc'); $word->Application->Run('phptest1'); $word->Quit(); $word = null; print "TEST #1 OK!\n"; ?> --- TEST 2 --- <?php // Second test --> This works fine $word = new COM('Word.Application') or die('Start Word automation failed.'); $word->Documents->Open('D:\php-bug2\testme.doc'); $arg1 = 'Some value'; $word->Application->Run('phptest2', $arg1); $word->Quit(); $word = null; print "TEST #2 OK!\n"; ?> --- TEST 3 --- <?php // Third test --> This works fine $word = new COM('Word.Application') or die('Start Word automation failed.'); $word->Documents->Open('D:\php-bug2\testme.doc'); $arg1 = 'Some value'; $word->Application->Run('phptest3', $arg1, $arg1); $word->Quit(); $word = null; print "TEST #3 OK!\n"; ?> --- TEST 4 --- <?php // Forth test --> This works fine $word = new COM('Word.Application') or die('Start Word automation failed.'); $word->Documents->Open('D:\php-bug2\testme.doc'); $arg1 = 'Some value'; $word->Application->Run('Normal.MyModule.phptest1'); $word->Quit(); $word = null; print "TEST #4 OK!\n"; ?> --- TEST 5 --- <?php // Fifth test --> FAILED $word = new COM('Word.Application') or die('Start Word automation failed.'); $word->Documents->Open('D:\php-bug2\testme.doc'); $arg1 = 'Some value'; $word->Application->Run('Normal.MyModule.phptest2', $arg1); $word->Quit(); $word = null; print "TEST #5 OK!\n"; ?> --- TEST 6 --- <?php // Sixth test --> FAILED $word = new COM('Word.Application') or die('Start Word automation failed.'); $word->Documents->Open('D:\php-bug2\testme.doc'); $arg1 = 'Some value'; $word->Application->Run('Normal.MyModule.phptest3', $arg1, $arg1); $word->Quit(); $word = null; print "TEST #6 OK!\n"; ?> Previous Comments: ------------------------------------------------------------------------ [2007-01-02 01:00:00] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2006-12-25 02:55:29] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip ------------------------------------------------------------------------ [2006-12-22 07:34:47] poon dot fung at gmail dot com Description: ------------ I can call a Word macro without any argument ok. But when I pass a string arguement to a Word macro, I get the following exception. Source: Unknown Description: Unknown I discovered the following problem: 1. It works when a macro does not have argument. The macro can be in the default macro file "Module/NewMacros" or other module file such as "Module/MyMacros". 2. It works when a macro has one or more arguements when the macro is in default macro file "Module/NewMacros". It does not work when the same macro is copied to a different module file such as "Module/MyMacros". Reproduce code: --------------- <?php // C:\testme.doc is any Word document $word = new COM('Word.Application') or die('Start Word automation failed.'); $word->Documents->Open('c:\testme.doc'); $arg1 = 'Some value'; // First test --> This works fine //$word->Application->Run('phptest1'); // Second test --> This works fine //$word->Application->Run('phptest2', $arg1); // Third test --> This works fine //$word->Application->Run('phptest3', $arg1, $arg1); // Forth test --> This works fine //$word->Application->Run('Normal.MyMacros.phptest1'); // Fifth test --> FAILED $word->Application->Run('Normal.MyMacros.phptest2', $arg1); // Sixth test --> FAILED //$word->Application->Run('Normal.MyMacros.phptest3', $arg1, $arg1); $word->Quit(); $word = null; /* // Word macros Sub phptest1() End Sub Sub phptest2(arg1 As String) End Sub Sub phptest3(arg1 As String, arg2 As String) End Sub */ ?> Expected result: ---------------- To run the test: 1. Create a dummy Word document C:\testme.doc". 2. Copy the three dummy procedures (phptest1, phptest2 and phptest3) to Word's macro file "Normal/Module/NewMacros". 3. Create a new macro file "Normal/Module/MyMacros" and paste the same three procedures in it. 4. Uncomment the line after each test case and keep lines for other test cases commented. 5. Run each test case. Case 1-4: No output. Just finish without error. Case 5-6: Show the error below. Actual result: -------------- PHP Fatal error: Uncaught exception 'com_exception' with message 'Source: Unknown Description: Unknown' in C:\bug2.php:21 Stack trace: #0 C:\bug2.php(21): variant->Run('Normal.MyMacros...', 'Some value') #1 {main} thrown in C:\bug2.php on line 21 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39930&edit=1