我正在使用PHP来调用/操作Word文档,使用COM。我正在做的一件事是SaveAs到文本格式。因为我正在操作许多Word文档,所以我不希望文档显示在最近的文件列表中。
VBA SaveAs函数有一个可选参数来完成此任务,但我想知道,有没有办法将命名参数传递给COM对象,类似于你在VBA中可以做的事情?
例如,在Word中,我可以写:
ActiveDocument.SaveAs(Filename:='mynewfilename.doc', FileFormat:=2, AddToRecentFiles:=False)
有没有办法在PHP中使用COM对象执行此操作?
答案 0 :(得分:0)
由于PHP不理解命名参数的概念(至少不是VB / A的方式),您必须尊重方法签名并以正确的顺序传递参数。
VB命名参数的存在只是为了允许您以错误的顺序传递参数,但该方法仍然具有已定义的签名,并且只要它们的顺序正确,您就可以传递未命名的参数。
假设签名与定义here的签名相同,我认为这应该有效:
$com->SaveAs('mynewfilename.doc', 2, NULL, NULL, FALSE);
免责声明:我假设PHP COM将合理地处理NULL
和FALSE
- 这可能是一个愚蠢的假设。