Exel как OLE объект

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
bvv70
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 22.04.2006 (Сб) 19:12

Exel как OLE объект

Сообщение bvv70 » 20.06.2006 (Вт) 8:37

Помогите вот в каком вопросе: в RichTextBox как OLE объект загружаем документ Exel. Необходимо программно с ним работать, но не получается. В примере - попытка перейти на другой лист.
Option Explicit
Private Sub Command1_Click()
'загружаем шаблон
RichTextBox1.OLEObjects.Add , , "C:\dekl.xls"
End Sub
Private Sub Command2_Click()
'как перейти на новый лист???
Sheets("00003").Select
End Sub

burik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 03.11.2005 (Чт) 22:04
Откуда: Беларусь, Рогачев

Сообщение burik » 24.06.2006 (Сб) 11:53

А при попытке перейти на новый лист у тебя появляется ошибка?
Какая?
Между слухов, сказок, мифов,
просто лжи, легенд сомнений
мы враждуем жарче скифов
за несходство заблуждений
Игорь Губерман

bvv70
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 22.04.2006 (Сб) 19:12

Сообщение bvv70 » 24.06.2006 (Сб) 17:24

При первом нажатии на Command2 ничего не происходит за исключением выделения объекта. При втором ошибка.
При попытке перейти на новый лист:

Run-time error '1004':
Method 'Sheets' of object '_Global' failed


При попытке произвести замену:
Run-time error '1004':
Method 'Cells' of object '_Global' failed

burik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 03.11.2005 (Чт) 22:04
Откуда: Беларусь, Рогачев

Сообщение burik » 24.06.2006 (Сб) 18:28

Попробуй указать верхний объект свойства sheets (объект.Sheets("00003").Select).
Между слухов, сказок, мифов,
просто лжи, легенд сомнений
мы враждуем жарче скифов
за несходство заблуждений
Игорь Губерман

bvv70
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 22.04.2006 (Сб) 19:12

Сообщение bvv70 » 24.06.2006 (Сб) 21:13

Нижеприведенный код прекрасно выполняет нужное запуская Ексель.
А вот сделать подобное с OLE не знаю как.
Код: Выделить всё
'подключаем Microsoft Excel 10.0 Object Library
Option Explicit
Dim Ex As New Excel.Application
Dim exl

Private Sub Command1_Click()
'Показать Ексель
Ex.Visible = True
Set exl = Ex.Workbooks.Add("C:\dekl.xls")
Sheets("00003").Select
End Sub

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

Сообщение GSerg » 25.06.2006 (Вс) 5:12

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

bvv70
Обычный пользователь
Обычный пользователь
 
Сообщения: 55
Зарегистрирован: 22.04.2006 (Сб) 19:12

Сообщение bvv70 » 25.06.2006 (Вс) 15:19

А как сделать это? Кодом подскажите, если не трудно.


Вернуться в Visual Basic 1–6

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

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

    TopList