VBA使用Outlook打开Excel不能打开
嗨,感谢您的帮助。
我在Outlook 2010&2007中有以下代码:
Sub Openexcel() Dim xlApp As Object Dim sourceWB As Workbook Dim sourceSH As Worksheet Dim strFile As String Set xlApp = CreateObject("Excel.Application") With xlApp .Visible = True .EnableEvents = False End With strFile = "E:\All documents\susan\work\Excel projects\saving files to directory Clean.xls" Set sourceWB = Workbooks.Open(strFile, , False, , , , , , , True) Set sourceSH = sourceWB.Worksheets("Sheet2") sourceWB.Activate End Sub
这个代码在我打开Outlook后第一次使用它,但如果我closures了Excel文件,我不能再使用它。 我需要重新打开这本工作书约3次
问题在
outlookVBA开放Excel似乎有同样的问题,但我不明白的答案。
“我弄明白了,我打开了一个不同的工作簿,然后在我打开第二个工作簿之前closures它,为了解决这个问题,为了解决这个问题,我打开了excel应用程序并将工作簿对象重置为新的工作簿我想了”
如果有人能帮助那些很好的附加代码。
Excel文件打开后,在Excel交互中发现的很好的代码不起作用 。
为什么上周我找不到这个知道的人。
Sub Openexcel() ' change Dim xlApp As Excel.Application Dim sourceWB As Excel.Workbook Dim sourceSH As Excel.Worksheet 'change Set xlApp = New Excel.Application With xlApp .Visible = True .EnableEvents = False '.UserControl = False '.DisplayAlerts = False '.AskToUpdateLinks = False End With strFile = "E:\All documents\susan\work\Excel projects\saving files to directory Clean.xls" 'change Set sourceWB = xlApp.Workbooks.Open(strFile, , False, , , , , , , True) Set sourceSH = sourceWB.Worksheets("Sheet2") sourceWB.Activate End Sub
谢谢你们所有的想法。
您需要在全局范围声明Excel应用程序并使用它打开另一个工作簿。 不要创build一个新的Excel实例来打开新文件。 您可能会发现如何从Visual Basic文章自动化Microsoft Excel文章有帮助。
例如,在事件处理程序之外声明Application对象:
Dim oXL As Excel.Application Private Sub Command1_Click() Dim oWB As Excel.Workbook
因此,您将能够重新使用它来closures和打开新的工作簿。