【发布时间】:2013-04-15 11:57:25
【问题描述】:
我使用 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
有什么想法吗??
【问题讨论】:
-
如果没有看到您的代码,这是不可能指导或排除故障的。
-
听起来可能缺少 DLL,但正如 Jusin Satyr 所说,如果您不提供代码,我们将无法帮助您...