代码之家  ›  专栏  ›  技术社区  ›  Sara Menoncin

Excel.Application.Visibile不在Office 2016上工作

  •  1
  • Sara Menoncin  · 技术社区  · 6 年前


    我需要有关规范用VisualBasic6.0编写的以下代码的帮助。

    Private Sub cmdExcel_Click()
    Dim obj As Object
    
    Set obj = CreateObject("Excel.Application")
    
    On Error Resume Next
       MkDir "c:\temp"
    On Error GoTo 0
    
    MousePointer = vbHourglass
    
    On Error GoTo err
    
    objGrid.m.ExportToXLS "c:\temp\test.xls"
    
    obj.Workbooks.Open "c:\temp\test.xls"
    obj.Visible = True
    obj.Interactive = True
    
    
    On Error GoTo 0
    
    err:
      MousePointer = vbNormal
    
    End Sub
    

    环境 :Windows 10,Office Excel 2016。

    问题 :工作簿没有显示,但我仍然可以在任务管理器中找到Excel实例。如果我关闭实例,我可以在 c:\temp 应用程序重新开始工作。

    目标 :显示刚创建的Excel。

    你有什么解决办法吗?

    事先谢谢。
    萨拉人

    1 回复  |  直到 6 年前
        1
  •  1
  •   Sara Menoncin    6 年前

    我找到了解决办法。
    问题不在代码中,而是在某些Excel的设置中。

    首先,我修改了代码以获得更详细的错误。基本上,我切换了允许Excel应用程序可见和打开文件的两个指令:

    obj.Visible = True
    obj.Workbooks.Open "c:\temp\test.xls"
    

    这样,我就可以打开Excel应用程序并读取文件无法打开的原因。

    enter image description here

    如您所见,文件类型是 Excel 4 Worksheets 打开时被阻塞。

    我得走了 Trust Center 并且禁用它。 当然,我也残疾了 Excel 4 Workbook .

    enter image description here

    完成上述步骤后,我的应用程序工作正常。