使Excel实例可见而不给它焦点

时间:2014-12-19 13:53:49

标签: excel vba ms-access

我生成具有访问权限的Excel报告。我想避免用户在工作中突然出现弹出式窗口。

这是我的问题。我在Excel中生成报告,一切都很好。但是一旦程序变为可见,就会发生用户处于eMail中间然后覆盖的问题。在excel报告中,在他知道之前。 因此,理想的excel应该只在后台才能看到,而不会引起关注。

但我不知道如何在vba访问中编程

提前谢谢!

1 个答案:

答案 0 :(得分:1)

如果要将Excel文件输出到文件夹/目录或与数据库相同的文件路径,可以使用:

Dim outputFileName As String

  outputFileName = CurrentProject.Path & "\Test Output" & Format(Date, "MMddyyyy") & ".xlsx"
  DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "usersQry", outputFileName, True

更具体地说,看起来你可以使用这样的东西:

If MsgBox("Save file as " & CurrentProject.Path & "\Reports\Blah " & Format(Date, "MMddyyyy") & ".xlsx. " & _
        "Open file in Excel?", vbYesNo + vbQuestion + vbDefaultButton2) = vbNo Then
        Cancel = True
    Else
        Dim xlTmp As Excel.Application
        Set xlTmp = New Excel.Application
        xlTmp.Workbooks.Open outputFileName
        xlTmp.Visible = True  ' You can change this to false
End If

如果遇到错误,Excel.Application抛出用户定义的类型“错误,请使用此初始化:

Dim xlTmp as object
Set xlTmp = CreateObject("Excel.Application")
xlTmp.Workbooks.Open outputFileName
xlTmp.Visible = True  ' You can change this to false

这是因为您可能遗漏了Excel对象库,因此Access不知道Excel.Application的含义。