#39930 [NoF->Opn]: Error passing Word macro arguments
| From: | poon dot fung at gmail dot com | Date: | Thu, 04 Jan 2007 07:43:19 +0000 |
| Subject: | #39930 [NoF->Opn]: Error passing Word macro arguments | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-107160@lists.php.net to get a copy of this message | ||
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] edink@php.net
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