библиотеки для vba Excel

Программирование на Visual Basic for Applications
Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 05.07.2006 (Ср) 15:56

1. Кладу файл в _любое_ место
2. Открываю
3. Ctrl-R - форма
4. Жмакаю энное число раз на "Создать"
5. Ctrl-R - форма

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

Сообщение GSerg » 05.07.2006 (Ср) 16:20

А не надо, Nicky, открывать...
Надо подключать через Сервис - Надстройки.

Скачал прилагаемый xls.
Пересохранил как xla.
Подключил, нажал, работает.

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

yura613
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 12.06.2006 (Пн) 15:49
Откуда: Минск

Сообщение yura613 » 05.07.2006 (Ср) 17:12

GSergУровень защиты самый низкий
Я сделал все заново, залез потом в настройки, подключил и все работает, причем из любого файла. Ура!!!!! (проверю еще сегодня у себя дома)если что, напишу
все спасибо.

yura613
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 12.06.2006 (Пн) 15:49
Откуда: Минск

Сообщение yura613 » 07.07.2006 (Пт) 9:53

Еще раз всем привет
Возникла у меня новая проблема, но продолжение нашей темы
Возможно ли теперь зделать так чтоб действие которое выполняется при событии Worksheet_BeforeDoubleClick или другими подобными действиями, распостронялись на все книги. Тоесть в одной книге я прописал в Worksheet_BeforeDoubleClick какое нибудь действие и оно потом выполнялось в любой книге на этой же странице или на всех.

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

Сообщение GSerg » 07.07.2006 (Пт) 9:58

Код: Выделить всё
private withevents xl as excel.application

sub init
  set xl=application
end sub

private sub xl_SheetBeforeDoubleClick(Sh As Object, Target As Range, Cancel As Boolean)
  msgbox sh.name
end sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

yura613
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 12.06.2006 (Пн) 15:49
Откуда: Минск

Сообщение yura613 » 07.07.2006 (Пт) 12:27

Если вставить редактор вба в поле страницы или книги то при подключении выделенная строка показывает ошибку
private sub xl_SheetBeforeDoubleClick(Sh As Object, Target As Range, Cancel As Boolean)
msgbox sh.name
end sub

а если это выражение записать в модуль, то не работает

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 07.07.2006 (Пт) 12:38

Это пишется в модуле класса

yura613
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 12.06.2006 (Пн) 15:49
Откуда: Минск

Сообщение yura613 » 07.07.2006 (Пт) 12:52

и там пробовал тоже
пробовал при загрузке книги писать set xl=application
а все остальное в модуле класса

пробовал писать ... set xl=application ... в модуле а остальное выражение в модуле класса

потом пробовал писать все выражения в модуле класса

не работает

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 07.07.2006 (Пт) 13:45

ЭтаКнига
Код: Выделить всё
Option Explicit

Private Sub Workbook_Open()
  Set myClass = New Class1
End Sub

Module1
Код: Выделить всё
Option Explicit

Public myClass As Class1

Class1
Код: Выделить всё
Option Explicit

Public WithEvents xl As Application

Private Sub Class_Initialize()
  Set xl = Application
End Sub

Private Sub xl_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
  MsgBox Sh.Name
End Sub

yura613
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 12.06.2006 (Пн) 15:49
Откуда: Минск

Сообщение yura613 » 07.07.2006 (Пт) 14:08

Круто! большое спасибо!!! Все работает!
А где можно про модуля класса узнать?

yura613
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 101
Зарегистрирован: 12.06.2006 (Пн) 15:49
Откуда: Минск

Сообщение yura613 » 10.07.2006 (Пн) 15:37

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

Пред.

Вернуться в VBA

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

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

    TopList