了解使用java的pc上的MS Office版本

了解使用java的pc上的MS Office版本,java,ms-office,Java,Ms Office,有没有办法知道我的电脑上使用的是“Java”版本的MS Office 在ms office的安装中是否有一个特定的文件将一个版本与另一个版本区分开来?如果是,您可以阅读并检测 另外,您必须与可能安装的(o/s)ms office activex控件进行接口,并查询版本号。在ms office的安装中是否有一个特定的文件可以区分不同的版本?如果是,您可以阅读并检测 另外,您必须与可能安装的(o/s)ms office activex控件进行恶劣的接口,并查询版本号。我可以建议您解决一些棘手的问题:

有没有办法知道我的电脑上使用的是“Java”版本的MS Office

在ms office的安装中是否有一个特定的文件将一个版本与另一个版本区分开来?如果是,您可以阅读并检测


另外,您必须与可能安装的(o/s)ms office activex控件进行接口,并查询版本号。

在ms office的安装中是否有一个特定的文件可以区分不同的版本?如果是,您可以阅读并检测


另外,您必须与可能安装的(o/s)ms office activex控件进行恶劣的接口,并查询版本号。

我可以建议您解决一些棘手的问题:


您可以轻松获得已安装字体的列表。不同版本的MS Office具有不同的独特字体。你需要用谷歌搜索哪个字体对应哪个版本,它可以给你一些信息(例如,如果你能看到“Constantia”,那就是office 2007)。

我可以建议你解决一些棘手的问题:


您可以轻松获得已安装字体的列表。不同版本的MS Office具有不同的独特字体。你需要用谷歌搜索哪个字体对应哪个版本,它可以给你一些信息(例如,如果你能看到“Constantia”,那就是office 2007)。

一种方法是调用Windows ASSOC和FTYPE命令,捕获输出并解析它,以确定安装的office版本

C:\Users\me>assoc .xls
.xls=Excel.Sheet.8

C:\Users\me>ftype Excel.sheet.8
Excel.sheet.8="C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" /e
Java代码:

import java.io.*;
public class ShowOfficeInstalled {
    public static void main(String argv[]) {
      try {
        Process p = Runtime.getRuntime().exec
          (new String [] { "cmd.exe", "/c", "assoc", ".xls"});
        BufferedReader input =
          new BufferedReader
            (new InputStreamReader(p.getInputStream()));
        String extensionType = input.readLine();
        input.close();
        // extract type
        if (extensionType == null) {
          System.out.println("no office installed ?");
          System.exit(1);
        }
        String fileType[] = extensionType.split("=");

        p = Runtime.getRuntime().exec
          (new String [] { "cmd.exe", "/c", "ftype", fileType[1]});
        input =
          new BufferedReader
            (new InputStreamReader(p.getInputStream()));
        String fileAssociation = input.readLine();
        // extract path
        String officePath = fileAssociation.split("=")[1];
        System.out.println(officePath);
        //
        // output if office is installed :
        //  "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" /e
        // the next step is to parse the pathname but this is left as an exercise :-)
        //
      }
      catch (Exception err) {
        err.printStackTrace();
      }
    }
  }

ref:

一种方法是调用Windows ASSOC和FTYPE命令,捕获输出并对其进行分析,以确定安装的Office版本

C:\Users\me>assoc .xls
.xls=Excel.Sheet.8

C:\Users\me>ftype Excel.sheet.8
Excel.sheet.8="C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" /e
Java代码:

import java.io.*;
public class ShowOfficeInstalled {
    public static void main(String argv[]) {
      try {
        Process p = Runtime.getRuntime().exec
          (new String [] { "cmd.exe", "/c", "assoc", ".xls"});
        BufferedReader input =
          new BufferedReader
            (new InputStreamReader(p.getInputStream()));
        String extensionType = input.readLine();
        input.close();
        // extract type
        if (extensionType == null) {
          System.out.println("no office installed ?");
          System.exit(1);
        }
        String fileType[] = extensionType.split("=");

        p = Runtime.getRuntime().exec
          (new String [] { "cmd.exe", "/c", "ftype", fileType[1]});
        input =
          new BufferedReader
            (new InputStreamReader(p.getInputStream()));
        String fileAssociation = input.readLine();
        // extract path
        String officePath = fileAssociation.split("=")[1];
        System.out.println(officePath);
        //
        // output if office is installed :
        //  "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" /e
        // the next step is to parse the pathname but this is left as an exercise :-)
        //
      }
      catch (Exception err) {
        err.printStackTrace();
      }
    }
  }

ref:

你可以有多个版本,你到底想要什么,知道与.doc关联的版本吗?例如,我想知道MS Excel的版本,以便我可以使用适当的API。你可以有多个版本,你到底想要什么,知道与.doc关联的那个吗?例如,我想知道MS Excel的版本,以便使用适当的API。