Excel 计算不是应用程序或活动工作簿的方法
我在MS Project中编写了这段代码,但我认为我包含了与Excel接口所需的所有库 以下是我尝试过的:Excel 计算不是应用程序或活动工作簿的方法,excel,vba,ms-project,Excel,Vba,Ms Project,我在MS Project中编写了这段代码,但我认为我包含了与Excel接口所需的所有库 以下是我尝试过的: Sub OpenBackupFile() Titler = ActiveProject.CustomDocumentProperties("Title").Value BackupFile = "C:\POAMLogs\" & Titler & ".xlsx" 'Set ExcelBackerp = CreateObject("Excel.App
Sub OpenBackupFile()
Titler = ActiveProject.CustomDocumentProperties("Title").Value
BackupFile = "C:\POAMLogs\" & Titler & ".xlsx"
'Set ExcelBackerp = CreateObject("Excel.Application")
Set ExcelBackerp = New Excel.Application
With ExcelBackerp
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
.DisplayAlerts = False
.Workbooks.Open BackupFile
End With
End Sub
无论我得到什么,对象“\u应用程序”的方法“计算”失败
我可以让intellisense给我第一个选项,但在第二个选项中,“计算”并没有出现在intellisense中
我可以让intellisense给我第一个选项,但在第二个选项中,“计算”并没有出现在intellisense中
这是因为
.Calculation
不是工作簿的属性。它具有应用
您可以使用ExcelBackerp.Calculation=xlCalculationManual
,但不能使用ExcelBackerp.ActiveWorkbook.Calculation=xlCalculationManual
还请记住,如果您曾经使用latebinding,请将xlCalculationManual
更改为-4135
出现错误,因为您试图在没有工作簿的情况下设置计算
试试这个,它会有用的
Set ExcelBackerp = New Excel.Application
ExcelBackerp.Workbooks.Add
ExcelBackerp.Calculation = xlCalculationManual
因此,在代码中,首先打开工作簿,然后设置计算:
或者更好的方法是声明变量/对象。会让你的生活更轻松:)
我可以让intellisense给我第一个选项,但在第二个选项中,“计算”并没有出现在intellisense中
这是因为.Calculation
不是工作簿的属性。它具有应用
您可以使用ExcelBackerp.Calculation=xlCalculationManual
,但不能使用ExcelBackerp.ActiveWorkbook.Calculation=xlCalculationManual
还请记住,如果您曾经使用latebinding,请将xlCalculationManual
更改为-4135
出现错误,因为您试图在没有工作簿的情况下设置计算
试试这个,它会有用的
Set ExcelBackerp = New Excel.Application
ExcelBackerp.Workbooks.Add
ExcelBackerp.Calculation = xlCalculationManual
因此,在代码中,首先打开工作簿,然后设置计算:
或者更好的方法是声明变量/对象。会让你的生活更轻松:)
我在谷歌上搜索了对象的“方法”计算“\u应用程序“失败”,并得到了有用的结果。@nicomp没有一个适用于我的情况/据我所知工作正常。您是延迟绑定还是早期绑定-您有Set ExcelBackerp=CreateObject…
和Set ExcelBackerp=New…
。选择1并使用它。。计算
不是工作簿
的一部分。它是应用程序的
@dwirony no-那会是什么应用程序
?Excel的新实例还是MS Project的现有实例?我在Google上搜索了对象的“方法”计算“\u应用程序”失败”并且得到了有用的结果。@nicomp没有一个适用于我的情况/据我所知,工作正常。您是延迟绑定还是提前绑定-您有Set ExcelBackerp=CreateObject…
和Set ExcelBackerp=New…
。选择1并使用它。。计算
不是工作簿
的一部分。它是应用程序的
@dwirony no-那会是什么应用程序
?Excel的新实例还是MS Project的现有实例?谢谢,这很有效。如果添加工作簿,然后打开所需的工作簿,是否需要在宏末尾关闭两个工作簿?我添加了一个工作簿作为示例。您可以打开工作簿。刷新页面并查看我最近的编辑:)谢谢,效果不错。如果添加工作簿,然后打开所需的工作簿,是否需要在宏末尾关闭两个工作簿?我添加了一个工作簿作为示例。您可以打开工作簿。刷新页面并查看我最近的编辑:)
Sub OpenBackupFile()
Titler = ActiveProject.CustomDocumentProperties("Title").Value
BackupFile = "C:\POAMLogs\" & Titler & ".xlsx"
Dim ExcelBackerp As Excel.Application
Dim wb As Excel.Workbook
Set ExcelBackerp = New Excel.Application
With ExcelBackerp
Set wb = .Workbooks.Open(BackupFile)
.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
.DisplayAlerts = False
End With
'~~> Work with the workbook here
With wb
End With
End Sub