我使用 Visual Studio 2010 Express 编写了一个 vb.net 程序来打开和操作 Excel 工作簿。我有 MS Office 2010,我的程序在我的电脑上运行良好。当我尝试在我妻子的电脑上运行它时......什么也没有。我没有收到任何错误消息...什么也没有。她和我有相同版本的 Office,但她有 Windows XP,我有 Vista,她的计算机比我的计算机具有更多的安全协议,但我的另一个程序,它不导入任何 Office 命名空间,在她的计算机上运行良好。
当我查看她计算机上的任务管理器时,“应用程序”选项卡下没有任何内容,但在“进程”选项卡下,我看到了 Excel.exe 的一个实例,如果我再次尝试运行该程序,应用程序下仍然没有任何内容,但还有另一个进程下的 Excel.exe 实例。
我曾尝试使用 Click-Once 技术安装我的程序,并且在 Rebuild 后仅使用 Release 文件夹...什么也没有。
我也尝试在 2.0、3.0 等版本下编译它......什么都没有。
以下是一些相关代码:
Public Class CleanUpDataForm
    Dim m_objExcel As New Excel.Application
    Dim m_rngRange, m_rngEnd As Excel.Range
    Dim m_blnEntireRow, m_blnCancel As Boolean
    Dim m_strRange, m_strSearch, m_strLogFrameCode As String
    Const c_strCode As String = "log"
    Friend Const c_intScrollBarWidth As Integer = 30
Private Sub CleanUpDataForm_FormClosed(sender As Object, e As    System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    m_objExcel = Nothing
    Dispose()
End Sub
Private Sub tsbOpen_Click(sender As System.Object, e As System.EventArgs) Handles tsbOpen.Click
    ofdGetWorksheet.Title = "Select Worksheet"
    ofdGetWorksheet.Filter = "All Excel Files (*.xl*)|*.xl*|(*.xlsx)|*.xlsx|(*.xlsm)|*.xlsm|(*.xlsb)|*.xlsb|(*.xlam)|*.xlam|(*.xltx)|*.xltx|(*.xltm)|*.xltm|(*.xls)|*.xls|(*.xla)|*.xla|(*.xlt)|*.xlt|(*.xlm)|*.xlm|(*.xlw)|*.xlw"
    ofdGetWorksheet.FileName = ""
    If ofdGetWorksheet.ShowDialog <> System.Windows.Forms.DialogResult.Cancel Then
        Me.Text = ofdGetWorksheet.FileName
        m_objExcel.Workbooks.Open(Me.Text)
        tsbCopySheet.Enabled = True
        tsbFindRows.Enabled = True
        tsbClose.Enabled = True
        m_objExcel.Visible = True
    Else
        Me.Text = ""
    End If
    Me.Activate()
End Sub
有任何想法吗??