繁体   English   中英

如何选择使用VB.NET打开哪个Excel版本?

[英]How to choose which Excel version to open using VB.NET?

我有几个Excel工作表,我想使用VB.NET处理不同的Excel版本

基本上,我想选择使用VB.NET打开某些工作表的Excel版本。 有什么方法可以知道计算机中安装了哪个Excel版本以及VB.NET有多少版本? 以及如何选择要打开的Excel版本?

我想通过编程来了解它,如果您查看一下计算机中的注册表项,就可以做到。 虽然,我需要创建一个软件来询问用户要打开的Excel版本

以下代码段获取计算机上所有已安装的Excel副本的列表(已在同时运行Excel 2003和2007的Windows XP计算机上进行了尝试和测试)。

Dim reg As RegistryKey
Dim subKey As RegistryKey
Dim rtn As New Dictionary(Of String, String)

reg = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Office")
If reg IsNot Nothing Then
    For Each subKeyName As String In reg.GetSubKeyNames
        subKey = reg.OpenSubKey(subKeyName)
        If subKey IsNot Nothing Then
            If subKey.GetSubKeyNames().Contains("Excel") Then
                subKey = subKey.OpenSubKey("Excel\InstallRoot")
                rtn.Add(subKeyName, subKey.GetValue("Path").ToString)
            End If
        End If
    Next
End If
For Each kvp In rtn
    MessageBox.Show(String.Format("Version: {0} at '{1}Excel.exe'", kvp.Key, kvp.Value))
Next

在变量rtn您具有版本(键)和安装Excel的目录(值)的字典。 正如您在代码末尾的MessageBox位中看到的那样,您需要在其末尾添加“ Excel.exe”。

现在,您具有已安装的Excel副本及其版本的位置,可以创建一个列出它们的表单,以允许用户选择他们希望使用的版本。

虽然我确定您可以找到用于使用Excel打开Excel电子表格的命令行,但我想为了完整起见,我会在此处包括该命令行。

excel.exe "c:\My Folder\book1.xlsx"

http://office.microsoft.com/zh-cn/excel-help/command-line-switches-for-excel-HA010158030.aspx

关于如何识别已安装的Excel版本及其位置的完整解释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM