首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制工作表类的方法失败

复制工作表类的方法失败
EN

Stack Overflow用户
提问于 2018-04-18 02:16:43
回答 1查看 319关注 0票数 0

我在PPT中有一个小程序,可以在Excel中制作表格的副本。它在Excel文件打开时工作;但是,如果我关闭Excel文件并在PPT中运行程序,它会显示运行时错误( worksheet类的复制方法失败)

代码语言:javascript
复制
Dim OWB As Excel.Workbook
Set OWB = GetObject(ActivePresentation.Path & "\Test.xlsx")
OWB.Sheets(1).Copy after:=OWB.Sheets(1)

当Excel文件" Test“打开时,我在PPT中运行它没有问题;如果我关闭Test excel,这个代码会给我这个错误。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2018-04-18 02:20:50

您可以使用On Error Resume NextOn Error Goto 0来测试它是否像这样打开:

代码语言:javascript
复制
Public Sub test()
  Dim OWB As Excel.Workbook
  On Error Resume Next
    Set OWB = GetObject(ActivePresentation.Path & "\Test.xlsx")
  On Error GoTo 0
  If OWB Is Nothing Then
    MsgBox "File is not open", vbCritical
  Else
    OWB.WorkSheets(1).Copy after:=OWB.Sheets(1)
  End If
End Sub

或者像这样,如果你想让它为你打开:

代码语言:javascript
复制
Public Sub test()
  Dim OWB As Excel.Workbook
  Dim sFile As String
  sFile = ActivePresentation.Path & "\Test.xlsx"
  On Error Resume Next
    Set OWB = GetObject(sFile)
  On Error GoTo 0
  If OWB Is Nothing Then
    On Error Resume Next
      Set OWB = Excel.Application.Workbooks.Open(sFile)
    On Error GoTo 0
  End If
  If OWB Is Nothing Then
    MsgBox "Could not locate file to open", vbCritical
  Else
    OWB.WorkSheets(1).Copy after:=OWB.Sheets(1)
  End If
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49884898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档