Копирование (вручную!) в Ворд из Экселя - ругается VBA

Программирование на Visual Basic for Applications
proximo
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 03.03.2006 (Пт) 11:33

Копирование (вручную!) в Ворд из Экселя - ругается VBA

Сообщение proximo » 17.05.2007 (Чт) 14:54

В книге Excel есть такое событие:

Код: Выделить всё
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Лист6.OptionButton2.Value = True

End Sub


Если я вручную (т.е. мышкой) копирую любую область листа Экселя, а затем вставляю в Ворд при помощи спец.вставки (вставить как "Объект Excel"), то VBA выдает ошибку "Compile Error, Data Member not found", потом при нажатии ОК все копируется без проблем. В самом редакторе VBA при появлении сообщения об ошибке в строке "Лист6.OptionButton2.Value = True" выделяется ".OptionButton2".

Если из строки "Лист6.OptionButton2.Value = True" убрать "Лист6.", то копирование тоже проходит, только без сообщения об ошибке. Но зато при закрытии самой экселевской книги появляется ошибка, что не хватает "Лист6."
Вобщем, замкнутый круг. Как можно обойти?

[/code]

proximo
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 03.03.2006 (Пт) 11:33

Сообщение proximo » 24.05.2007 (Чт) 15:25

Кстати, если при этом копировать в Ворд спец.вставкой и указывать опцию "связять с источником", то ошибка не появляется. Пока пользую свое изобретение именно так.. Кажетсо, я нашел глубоко закопанный микрософтовский баг.......

anvg
Обычный пользователь
Обычный пользователь
 
Сообщения: 66
Зарегистрирован: 20.05.2007 (Вс) 18:04

Сообщение anvg » 25.05.2007 (Пт) 2:52

proximo
Да поставь ты в Workbook_BeforeClose
On Error Resume Next - успокоится

proximo
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 03.03.2006 (Пт) 11:33

Сообщение proximo » 25.05.2007 (Пт) 13:10

не срабатывает, все равно ошибка

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 28.05.2007 (Пн) 1:19

Уважаемый мелкозапрятанный баг! А ты вообще пытался понять/перевести сообщение об ошибке?

у тебя на листе 6 не найден метод/обьект OptionButton2 !!! А теперь проанализируем твои действия: Ты убираешь слово лист6 и все чудесным образом работает. Значит что? OptionButton2 находится НЕ на листе6! Теперь тебе нужно найти, где у тебя OptionButton2 и проблема решена
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в VBA

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

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

    TopList