Проблема построения графика Excel из Access

Программирование на Visual Basic for Applications
abc
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 09.07.2004 (Пт) 17:31
Откуда: Kiev

Проблема построения графика Excel из Access

Сообщение abc » 18.05.2007 (Пт) 11:22

Строю в Excel график из Access.
...
Dim objExcel As New Excel.Application
Dim ws As Excel.Worksheet

objExcel.Visible = True
Set wb = objExcel.Workbooks.Add
Set ws = wb.ActiveSheet

With ws
Sheets(SheetName).Select
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.Location Where:=xlLocationAsObject, Name:= .Name
ActiveChart.SetSourceData Source:=Sheets(.Name).Range(.Cells(3, 2), .Cells(3, i)), PlotBy:=xlRows
.Range("A1").Select
End With

Set wb = Nothing
Set objExcel = Nothing
...
При первом выполнении все получается. При повторном выполнении процедуры в новой книге график не строит (кажется пытается что-то делать в предыдущей, даже если она закрыта). Только после закрытия и открытия приложения Access, нормально отрабатывает процедуру и строит график. В чем может быть засада?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.05.2007 (Пт) 11:35

Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

abc
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 09.07.2004 (Пт) 17:31
Откуда: Kiev

Сообщение abc » 18.05.2007 (Пт) 12:56

Почитал по ссылкам, но все равно не понятно, как указать о каком именно Экселе идет речь.
Точнее даже не Эксель, потому что данные (заполняет табличку) для построения графика процедура проставляет правильно, именно на вновь открытой странице. Все Range имеют в коде привязку к конкретной книге и страничке. А вот график строит фиг знает где. Как убить ссылку на старый график, или точно указать где строить новый?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.05.2007 (Пт) 13:39

Все Range имеют в коде привязку к конкретной книге и страничке

Присмотрись к своему коду и ты увидишь, что это не так.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

abc
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 09.07.2004 (Пт) 17:31
Откуда: Kiev

Сообщение abc » 18.05.2007 (Пт) 14:02

Так вот и вышел на форум, что б помогли найти, где именно засада. Кода не много. Может все таки подскажите?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.05.2007 (Пт) 14:06

ActiveChart
.Range


Видишь разницу, нет?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

abc
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 09.07.2004 (Пт) 17:31
Откуда: Kiev

Сообщение abc » 18.05.2007 (Пт) 15:30

Ну, так в том то и вопрос как вместо ActiveChart указать нужное приложение?

Пробовал писать wb.ActiveChart (выше по коду:
objExcel.Visible = True
Set wb = objExcel.Workbooks.Add)
не помогло.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 77

    TopList