Ms office 如何在TestComplete中使用JScript获取MS Office版本?

Ms office 如何在TestComplete中使用JScript获取MS Office版本?,ms-office,jscript,testcomplete,Ms Office,Jscript,Testcomplete,在TestComplete中,我们如何在不查看注册表的情况下使用JScript获取Microsoft Office版本(不是Excel或Word)?我尝试了这个方法(使用Shell.Application获取程序文件路径),但没有成功: var ProgramFiles = aqEnvironment.GetEnvironmentVariable("ProgramFiles", true); var MSOffFilePath = ProgramFiles +"\\Microsoft Offic

在TestComplete中,我们如何在不查看注册表的情况下使用JScript获取Microsoft Office版本(不是Excel或Word)?我尝试了这个方法(使用
Shell.Application
获取程序文件路径),但没有成功:

var ProgramFiles = aqEnvironment.GetEnvironmentVariable("ProgramFiles", true);
var MSOffFilePath = ProgramFiles +"\\Microsoft Office\\Office14\\";
var Officeversion = aqFileSystem.GetFileInfo(MSOffFilePath).VersionInfo.FileMajorVersion;
Log.Message(Officeversion);

您可以使用WMI进行此操作。查询类以获取已安装的Office产品、产品名称(例如,“Microsoft Office Standard 2010”)和版本(“14.0.7015.1000”)

var oWMI=GetObject(“winmgmts:”);
//查找名称以“Microsoft Office”开头的所有已安装产品
//但忽略诸如“Microsoft Office证明(英文)”之类的项目
//或“Microsoft Office 64位组件2010”
var colSoft=oWMI.ExecQuery(
“从Win32_产品中选择*”
+“其中的名称如“Microsoft Office%””
+“而不是像“%”(“%”这样的名称”
+“而不是像“%Proof%”这样的名称”
+“而不是像“%Components%”那样的名称”
);
if(colSoft.Count==0){
Log.Message(“未安装Microsoft Office”);
}
否则{
var enumSoft=新枚举数(colSoft);
变量项,strName;
对于(;!enumSoft.atEnd();enumSoft.moveNext())
{
item=enumSoft.item();
Log.Message(item.Name);//MicrosoftOfficeStandard2010
Log.Message(item.Version);//14.0.7015.1000
}
}

您可以使用WMI。查询类以获取已安装的Office产品、产品名称(例如,“Microsoft Office Standard 2010”)和版本(“14.0.7015.1000”)

var oWMI=GetObject(“winmgmts:”);
//查找名称以“Microsoft Office”开头的所有已安装产品
//但忽略诸如“Microsoft Office证明(英文)”之类的项目
//或“Microsoft Office 64位组件2010”
var colSoft=oWMI.ExecQuery(
“从Win32_产品中选择*”
+“其中的名称如“Microsoft Office%””
+“而不是像“%”(“%”这样的名称”
+“而不是像“%Proof%”这样的名称”
+“而不是像“%Components%”那样的名称”
);
if(colSoft.Count==0){
Log.Message(“未安装Microsoft Office”);
}
否则{
var enumSoft=新枚举数(colSoft);
变量项,strName;
对于(;!enumSoft.atEnd();enumSoft.moveNext())
{
item=enumSoft.item();
Log.Message(item.Name);//MicrosoftOfficeStandard2010
Log.Message(item.Version);//14.0.7015.1000
}
}

我们需要更多详细信息。您运行Javascript的环境是什么?到目前为止您尝试了什么?在TestComplete.var ProgramFiles=aqEnvironment.GetEnvironment变量(“ProgramFiles”,true)中使用它;var MSOffFilePath=ProgramFiles+“\\Microsoft Office\\Office14\”;var Officeversion=aqFileSystem.GetFileInfo(MSOffFilePath).VersionInfo.FileMajorVersion;Log.Message(Officeversion);我将您的代码复制到您的问题中-不要在注释中发布代码:它不可读。看看这是否对您有帮助-我们需要更多详细信息。您运行Javascript的环境是什么?到目前为止您尝试了什么?在TestComplete.var ProgramFiles=aqEnvironment.GetEnvironmentVariable(“ProgramFiles”,true)中使用它;var-MSOffFilePath=ProgramFiles+“\\Microsoft Office\\Office14\”;var-Officeversion=aqFileSystem.GetFileInfo(MSOffFilePath).VersionInfo.FileMajorVersion;Log.Message(Officeversion);我将您的代码复制到您的问题中-不要在注释中发布代码:它不可读。看看这是否对您有帮助-我们需要更多详细信息。您运行Javascript的环境是什么?到目前为止您尝试了什么?在TestComplete.var ProgramFiles=aqEnvironment.GetEnvironmentVariable(“ProgramFiles”,true)中使用它;var MSOffFilePath=ProgramFiles+“\\Microsoft Office\\Office14\”;var Officeversion=aqFileSystem.GetFileInfo(MSOffFilePath.VersionInfo.FileMajorVersion;Log.Message(Officeversion);我将您的代码复制到了您的问题中-不要在注释中发布代码:在那里无法读取。看看这是否对您有帮助-