我在Access中有以下一段代碼。
Dim objSht As excel.Worksheet
Dim objexcel As New excel.Application
Dim wbexcel As excel.Workbook
Dim wbExists As Boolean
Dim objRange As excel.Range
Dim isFileAlreadyPresent As Boolean
Set objexcel = CreateObject("excel.Application")
Set wbexcel = objexcel.Workbooks.Open(file_name)
Set objSht = wbexcel.Worksheets(table_name)
isFileAlreadyPresent = True
objSht.Activate
objSht.Range(Range_para).Select
Charts.Add
ActiveChart.chartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets(table_name).Range(Range_para), _
PlotBy:= xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.HasLegend = False
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.text = CHart_title
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
If isFileAlreadyPresent = True Then
wbexcel.Save
Else
wbexcel.SaveAs (file_name)
End If
objexcel.Visible = True
wbexcel.Close
我有兩個問題。每次運行代碼時,我都會在Charts.add行得到運行時錯誤462(遠程服務器機器不存在或不可用)。
我知道我沒有正確使用objexcel屬性,但我不確定我哪裏出錯了。
代碼運行後,即使excel關閉。該進程在後臺運行,這會干擾下一次運行的代碼。我如何關閉excel並從任務管理器進程中擺脫它?
嘗試從您的代碼中移除不需要重現問題的所有內容。這會讓別人更容易幫助你。 – 2010-09-03 11:36:49
對於我來說,似乎有一個問題,即您已將Dim objexcel As New excel.Application和Set objexcel = CreateObject(「excel.Application」)。如果使用後者,則變量聲明中不需要New關鍵字。 – 2010-09-03 15:40:45
我同意彼得的評論。重新發布你的代碼(你可以編輯你的問題)可能是值得的,這樣至少可以編譯它。 – JohnZaj 2010-09-04 03:52:48