求大神指教!Workbooks.Open FileName:= expath这步出现424错误

syf161616 2016-04-27 12:32:50
Public Sub openExcel()
'设置对话框属性,用于指定EXCEL文件
CommonDialog1.Filter= “Excel文件 * .xls”
CommonDialog1.Action= 1
If CommonDialog1.FileName< > “” Then
expath= CommonDialog1.FileName
'打开对话框指定的EXCEL工作簿
Workbooks.Open FileName:= expath
oldbook.Close
Else
End If
End Sub
...全文
1466 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
syf161616 2016-05-04
  • 打赏
  • 举报
回复
引用 10 楼 Topc008 的回复:
按照你的代码设计来的,请参考:
Option Explicit
'声明变量为EXCEL应用程序对象
Private oldXls As Excel.Application
'声明变量为EXCEL工作簿对象
Private oldBook As Excel.Workbook
'声明变量为EXCEL工作表对象
Private oldSheet As Excel.Worksheet
'编写连接EXCEL的子程序(名为joinExcel)
Private Sub CmdJoinExcel_Click()
    On Error Resume Next
    Set oldXls = GetObject(, "Excel.Application")
    If oldXls Is Nothing Then
        Set oldXls = CreateObject("excel.Application")
    End If
    If oldXls Is Nothing Then
        MsgBox "无法创建Excel对象!!!"
        Exit Sub
    End If
    If Not oldXls.Visible Then oldXls.Visible = True
    MsgBox "Excel已经准备好,可以打开文件了!"
End Sub
'编写打开EXCEL文件的子程序openExcel
Private Sub CmdOpenExcel_Click()
    '设置对话框属性,用于指定EXCEL文件
    On Error GoTo 100
    Dim exPath As String
    With CommonDialog1
        .Filter = "*.xls"
        .ShowOpen
        exPath = .FileName
    End With
    If exPath = "" Then Exit Sub
    '打开对话框指定的EXCEL工作簿
    Set oldBook = oldXls.Workbooks.Open(FileName:=exPath)
    MsgBox "指定的工作簿已经打开了---" & exPath
    Exit Sub
100:
    MsgBox Err.Description
End Sub

。。。 代码都放在一个form里即可。
Private Sub CmdJoinExcel_Click() 'Dim xlsApp As Object 'Dim xlsBook As Object 'Dim xlsSheet As Object Dim xlsApp As New Excel.Application On Error Resume Next ' 改变错误陷阱 Set xlsApp = GetObject(App.Path, "et.Application") If Err Then Err.Clear '清除 Err 对象字段 Set xlsApp = CreateObject("et.Application") If Err Then Exit Sub ' 退出程序,以避免进入错误处理程序 End If End If xlsApp.Visible = True Set xlsBook = xlsApp.Workbooks.Add LX = (ComLX.Text) Select Case LX Case Is = 1 Set xlsSheet = xlsBook.Worksheets(1) '设定工作表1 Cells(1, 1) = "基本参数": Cells(2, 1) = "名称": Cells(2, 2) = "开式深沟球优化参数": Cells(3, 1) = "系列" Case Is = 2 Set xlsSheet = xlsBook.Worksheets(2) '设定工作表2 Cells(1, 1) = "基本参数": Cells(2, 1) = "名称": Cells(2, 2) = "密封深沟球优化参数": Cells(3, 1) = "系列" Case Is = 3 Set xlsSheet = xlsBook.Worksheets(3) '设定工作表3 Cells(1, 1) = "基本参数": Cells(2, 1) = "名称": Cells(2, 2) = "带防尘盖深沟球优化参数": Cells(3, 1) = "系列" End Select xlsApp.Save '保存工作簿 xlsBook.Close '关闭工作薄文件 xlsApp.Quit '结束excel对象 Set xlsApp = Nothing '释放xlapp对象得内存空间 Set xlsBook = Nothing Set xlsSheet = Nothing End Sub 大神,现在的问题是第一次可以给excel赋值,第二次就变成空的了,不能赋值,求解答,十分感谢啊!
syf161616 2016-05-04
  • 打赏
  • 举报
回复
引用 10 楼 Topc008 的回复:
按照你的代码设计来的,请参考:
Option Explicit
'声明变量为EXCEL应用程序对象
Private oldXls As Excel.Application
'声明变量为EXCEL工作簿对象
Private oldBook As Excel.Workbook
'声明变量为EXCEL工作表对象
Private oldSheet As Excel.Worksheet
'编写连接EXCEL的子程序(名为joinExcel)
Private Sub CmdJoinExcel_Click()
    On Error Resume Next
    Set oldXls = GetObject(, "Excel.Application")
    If oldXls Is Nothing Then
        Set oldXls = CreateObject("excel.Application")
    End If
    If oldXls Is Nothing Then
        MsgBox "无法创建Excel对象!!!"
        Exit Sub
    End If
    If Not oldXls.Visible Then oldXls.Visible = True
    MsgBox "Excel已经准备好,可以打开文件了!"
End Sub
'编写打开EXCEL文件的子程序openExcel
Private Sub CmdOpenExcel_Click()
    '设置对话框属性,用于指定EXCEL文件
    On Error GoTo 100
    Dim exPath As String
    With CommonDialog1
        .Filter = "*.xls"
        .ShowOpen
        exPath = .FileName
    End With
    If exPath = "" Then Exit Sub
    '打开对话框指定的EXCEL工作簿
    Set oldBook = oldXls.Workbooks.Open(FileName:=exPath)
    MsgBox "指定的工作簿已经打开了---" & exPath
    Exit Sub
100:
    MsgBox Err.Description
End Sub

。。。 代码都放在一个form里即可。
我现在选用的是打开一个单元格赋值的方法,没有用打开模板的方法。
syf161616 2016-04-29
  • 打赏
  • 举报
回复
[quote=引用 7 楼 Topc008 的回复:] 糊涂了, --------------要么是oldbook.open FileName:=expath 这是错误的,oldbook没有这样用的[/q 大神,因为项目明天就交工了,能否给个联系方式,直接解决问题,另外我用的vb6.0版本估计和你版本不一样,问题也不一样
syf161616 2016-04-29
  • 打赏
  • 举报
回复
引用 7 楼 Topc008 的回复:
糊涂了, --------------要么是oldbook.open FileName:=expath 这是错误的,oldbook没有这样用的
你好,oldbook.open FileName:=expath,这句改了,又出现错误91,对象变量未设置,刚学vb,求教啊
一如既往哈 2016-04-29
  • 打赏
  • 举报
回复
按照你的代码设计来的,请参考:
Option Explicit
'声明变量为EXCEL应用程序对象
Private oldXls As Excel.Application
'声明变量为EXCEL工作簿对象
Private oldBook As Excel.Workbook
'声明变量为EXCEL工作表对象
Private oldSheet As Excel.Worksheet
'编写连接EXCEL的子程序(名为joinExcel)
Private Sub CmdJoinExcel_Click()
    On Error Resume Next
    Set oldXls = GetObject(, "Excel.Application")
    If oldXls Is Nothing Then
        Set oldXls = CreateObject("excel.Application")
    End If
    If oldXls Is Nothing Then
        MsgBox "无法创建Excel对象!!!"
        Exit Sub
    End If
    If Not oldXls.Visible Then oldXls.Visible = True
    MsgBox "Excel已经准备好,可以打开文件了!"
End Sub
'编写打开EXCEL文件的子程序openExcel
Private Sub CmdOpenExcel_Click()
    '设置对话框属性,用于指定EXCEL文件
    On Error GoTo 100
    Dim exPath As String
    With CommonDialog1
        .Filter = "*.xls"
        .ShowOpen
        exPath = .FileName
    End With
    If exPath = "" Then Exit Sub
    '打开对话框指定的EXCEL工作簿
    Set oldBook = oldXls.Workbooks.Open(FileName:=exPath)
    MsgBox "指定的工作簿已经打开了---" & exPath
    Exit Sub
100:
    MsgBox Err.Description
End Sub

。。。 代码都放在一个form里即可。
syf161616 2016-04-28
  • 打赏
  • 举报
回复
引用 4 楼 Topc008 的回复:
例子:2003环境
Option Explicit
Private mExcel As Excel.Application
Private Sub Command1_Click()
Set mExcel = New Excel.Application
mExcel.Visible = True
Dim S1 As String
S1 = "d:\6.xls"
mExcel.Workbooks.Open FileName:=S1
End Sub


执行后可以看到打开的6.xls文件。

你那个excel是不是加载了一些加载项或加载宏等其它外部dll?
你还是上全部代码和错误图示吧,不太好猜测的.......


引用 4 楼 Topc008 的回复:
例子:2003环境
Option Explicit
Private mExcel As Excel.Application
Private Sub Command1_Click()
Set mExcel = New Excel.Application
mExcel.Visible = True
Dim S1 As String
S1 = "d:\6.xls"
mExcel.Workbooks.Open FileName:=S1
End Sub


执行后可以看到打开的6.xls文件。

你那个excel是不是加载了一些加载项或加载宏等其它外部dll?
你还是上全部代码和错误图示吧,不太好猜测的.......

'在全局模块通用段声明变量为EXCEL对象
'声明变量为EXCEL应用程序对象
Public oldxls As Excel.Application
'声明变量为EXCEL工作簿对象
Public oldbook As Excel.Workbook
'声明变量为EXCEL工作表对象
Public oldsheet As Excel.Worksheet
'编写连接EXCEL的子程序(名为joinExcel)
Private Sub CmdJoinExcel_Click()
On Error Resume Next
Set oldxls = GetObject(App.Path, "Excel.Application")
If Err Then
Err.Clear
Set oldxls = CreateObject("excel.Application")
If Err Then
Exit Sub
End If
End If
oldxls.Visible = True
Set oldbook = oldxls.Workbooks.Add
Set oldsheet = oldbook.Worksheets(1)
End Sub
'编写打开EXCEL文件的子程序openExcel
Private Sub CmdOpenExcel_Click()
'设置对话框属性,用于指定EXCEL文件
If Err Then
Err.Clear
End If
CommonDialog1.Filter = "Excel文件 * .xls"
CommonDialog1.Action = 1
If CommonDialog1.FileName <> "" Then
expath = CommonDialog1.FileName
'打开对话框指定的EXCEL工作簿
Workbooks.Open FileName:=expath‘这句出错,xp系统48错误,win7系统运行429错误,求指导
If Err Then
Exit Sub
End If
oldbook.Close
Else
End If
End Sub

很急啊,求大神指导!
一如既往哈 2016-04-28
  • 打赏
  • 举报
回复
例子:2003环境
Option Explicit
Private mExcel As Excel.Application
Private Sub Command1_Click()
    Set mExcel = New Excel.Application
    mExcel.Visible = True
    Dim S1 As String
    S1 = "d:\6.xls"
    mExcel.Workbooks.Open FileName:=S1
End Sub

执行后可以看到打开的6.xls文件。 你那个excel是不是加载了一些加载项或加载宏等其它外部dll? 你还是上全部代码和错误图示吧,不太好猜测的.......
一如既往哈 2016-04-28
  • 打赏
  • 举报
回复
糊涂了, --------------要么是oldbook.open FileName:=expath 这是错误的,oldbook没有这样用的
一如既往哈 2016-04-28
  • 打赏
  • 举报
回复
Workbooks.Open FileName:=expath‘这句出错,xp系统48错误,win7系统运行429错误,求指导 要么是oldxls.Workbooks.Open FileName:=expath 要么是oldbook.open FileName:=expath 你光弄个Workbooks算啥?
syf161616 2016-04-27
  • 打赏
  • 举报
回复
引用 1 楼 Topc008 的回复:
Workbooks.Open FileName:= expath 代码在哪里?是vb还是vba? 如果是vb,前面应该加一个excel对象的,如: dim mExcel as new excel.application mexcel.workbooks.open filename:=expath ....
感谢您的解答,用的VB,也添加了excel对象,现在问题又来了,mexcel.workbooks.open filename:=expath运行时,错误提示48,加载dll文件错误,求指导啊
syf161616 2016-04-27
  • 打赏
  • 举报
回复
感谢您的解答,用的VB,也添加了excel对象,现在问题又来了,mexcel.workbooks.open filename:=expath运行时,错误提示48,加载dll文件错误,求指导啊
一如既往哈 2016-04-27
  • 打赏
  • 举报
回复
Workbooks.Open FileName:= expath 代码在哪里?是vb还是vba? 如果是vb,前面应该加一个excel对象的,如: dim mExcel as new excel.application mexcel.workbooks.open filename:=expath ....

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧