PHP,使用命名参数调用COM对象函数

时间:2012-10-15 16:47:54

标签: php com

我正在使用PHP来调用/操作Word文档,使用COM。我正在做的一件事是SaveAs到文本格式。因为我正在操作许多Word文档,所以我不希望文档显示在最近的文件列表中。

VBA SaveAs函数有一个可选参数来完成此任务,但我想知道,有没有办法将命名参数传递给COM对象,类似于你在VBA中可以做的事情?

例如,在Word中,我可以写:

ActiveDocument.SaveAs(Filename:='mynewfilename.doc', FileFormat:=2, AddToRecentFiles:=False)

有没有办法在PHP中使用COM对象执行此操作?

1 个答案:

答案 0 :(得分:0)

由于PHP不理解命名参数的概念(至少不是VB / A的方式),您必须尊重方法签名并以正确的顺序传递参数。

VB命名参数的存在只是为了允许您以错误的顺序传递参数,但该方法仍然具有已定义的签名,并且只要它们的顺序正确,您就可以传递未命名的参数。

假设签名与定义here的签名相同,我认为这应该有效:

$com->SaveAs('mynewfilename.doc', 2, NULL, NULL, FALSE);

免责声明:我假设PHP COM将合理地处理NULLFALSE - 这可能是一个愚蠢的假设。

相关问题