运行时错误91-access excel交互
我正在运行一个access VBA代码来打开Excel,对一些图形进行一些小的修改,并将它们保存为BMP。98%的时间都很好用。但是,我偶尔会在第“运行时错误91-access excel交互,excel,ms-access,vba,Excel,Ms Access,Vba,我正在运行一个access VBA代码来打开Excel,对一些图形进行一些小的修改,并将它们保存为BMP。98%的时间都很好用。但是,我偶尔会在第“Selection.Left=320”行出现以下错误: 运行时错误“91”: 对象变量或未设置块变量 我想解决的第二个小问题是,每次运行此宏后打开任何其他excel文档时,此宏使用的excel文档也会自动打开,不知道为什么 Private Sub Form_Open(Cancel As Integer) If [Forms]![Detail]![Qu
Selection.Left=320
”行出现以下错误:
运行时错误“91”:对象变量或未设置块变量 我想解决的第二个小问题是,每次运行此宏后打开任何其他excel文档时,此宏使用的excel文档也会自动打开,不知道为什么
Private Sub Form_Open(Cancel As Integer)
If [Forms]![Detail]![Qualification Documents].[Value] <> "" Then
Dim octopus As String
octopus = ([Forms]![Detail]![Qualification Documents].[Value])
Set objExcelApp = New Excel.APPLICATION
Dim ws As Worksheet
Set wb = objExcelApp.Workbooks.Open(FileName:="Path\" & octopus & " ", ReadOnly:=True)
'Set ws = wb.Sheets("SheetX")
wb.APPLICATION.DisplayAlerts = False
wb.Sheets("SheetX").Select
x = 1
While x < 4
wb.ActiveSheet.ChartObjects(x).Activate
With wb.ActiveChart.Parent
.Height = 500 ' resize
.Width = 1200 ' resize
.Top = 100 ' reposition
.Left = 100 ' reposition
End With
On Error GoTo here:
here:
wb.ActiveChart.Legend.Select
Selection.Left = 320
Selection.Top = 380
Selection.Height = 35
Selection.Width = 600
wb.ActiveChart.Export "X:\Assembly\CAPEX 2013\drilling database\graph" & x & ".bmp"
x = x + 1
Wend
wb.Close
Set objExcelApp = Nothing
End If
End Sub
私有子表单\u打开(取消为整数)
如果[表格]![细节]![资格证明文件].[价值]”“那么
暗章鱼串
八达通=([Forms]![Detail]![Qualification Documents]。[Value])
Set objExcelApp=New Excel.APPLICATION
将ws设置为工作表
设置wb=objExcelApp.Workbooks.Open(文件名:=“Path\”和octopus&“”,只读:=True)
'设置ws=wb.Sheets(“SheetX”)
wb.APPLICATION.DisplayAlerts=False
工作分解表(“SheetX”)。选择
x=1
而x<4
ActiveSheet.ChartObjects(x).激活
使用wb.ActiveChart.Parent
.高度=500'调整大小
.Width=1200'调整大小
.顶部=100'重新定位
.左=100'重新定位
以
错误转到此处:
在这里:
wb.ActiveChart.Legend.Select
选择。左=320
选择。Top=380
选择。高度=35
选择。宽度=600
wb.ActiveChart.Export“X:\Assembly\CAPEX 2013\drilling database\graph”&X&“.bmp”
x=x+1
温德
wb.关闭
设置objExcelApp=Nothing
如果结束
端接头
似乎选择
有时是无效的,即在运行宏时,选择会以某种方式无效,例如,用户单击Excel窗口或类似操作。尝试直接使用图形或对象的Left
属性,而不使用选择。
:
x = 1
While x < 4
With wb.Sheets("SheetX").ChartObjects(x)
.Parent.Height = 500 ' resize
.Parent.Width = 1200 ' resize
.Parent.Top = 100 ' reposition
.Parent.Left = 100 ' reposition
.Legend.Left = 320
.Legend.Top = 380
.Legend.Height = 35
.Legend.Width = 600
End With
Wend
x=1
而x<4
带wb.Sheets(“SheetX”).ChartObjects(x)
.Parent.Height=500'调整大小
.Parent.Width=1200'调整大小
.Parent.Top=100'重新定位
.Parent.Left=100'重新定位
.Legend.Left=320
.Legend.Top=380
.Legend.Height=35
.Legend.Width=600
以
温德
谢谢你的回答。但是,我已经解决了这个问题,所以我无法测试您对特定问题的建议。