макрос и вызов с помощью клавиатуры.(путь?)

Программирование на Visual Basic for Applications
sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

макрос и вызов с помощью клавиатуры.(путь?)

Сообщение sonata » 14.04.2003 (Пн) 11:46

Создала макрос и приделала к нему вызов с помощью клавиатуры.
Если переношу на другой ПК, то данные по вызову не сохраняются.
Вопрос? Где они храняться?Чтобы переносить макрос вместе с ними?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.04.2003 (Пн) 12:07

Не совсем понятно, про что идет речь, но все горячие клавиши хранятся в коллекции keybindings.

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 14.04.2003 (Пн) 12:21

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

Можно в событии Worckboks_open ввести указания на запуск макроса по горячей клавише:
Application.onkey "Клавиши", "Имя макроса"
Кодирование:
Shift - +
CTRL - ^
Alt - %
{Текст клавиши}
CTRL + Alt + 1 = "^%{1}"

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 14.04.2003 (Пн) 12:38

А все-таки, путь, где Excel все это хранить так никто и не подскажет?

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 14.04.2003 (Пн) 13:00

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

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 14.04.2003 (Пн) 13:09

1. Создала надстройку, для того, чтобы ее потом использовать
во всех excel-файлах
2. Надстройку создавала как обычный макрос, где вызывается окошко запись макроса, и в нем есть "Сочетание клавиш", предназначенные для запуска этого макроса.
3. Так вот, хочется контролировать этот процесс, так как, например,
при переносе макроса на другой ПК, вызов его по клавишам не работает...

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 14.04.2003 (Пн) 13:12

а ты его сохраняла не личной книге макросов :?:
его ж надо было записывать в данную книгу

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 14.04.2003 (Пн) 13:39

Нет, по-умолчанию, стоит "ЭтаКнига"

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 14.04.2003 (Пн) 13:42

по умолчанию стоит или ты записала в "ЭтаКнига"
ps а на другом компе не может быть чтобы эта комбинация была забита другим макросом

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 14.04.2003 (Пн) 15:25

Сделала, как Вы посоветовали, то все равно не вызывается....

Private Sub Workbook_Open()
Applciation.OnKey "%Z", "MyCopy"
End Sub

Sub MyCopy()
Dim data As New DataObject
Dim myRange1 As Range
Set myRange1 = Application.Selection
For Each cll In Selection
myvle = myvle & " " & cll.Value
Next cll
data.SetText myvle
data.PutInClipboard
End Sub

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 15.04.2003 (Вт) 17:22

Private Sub Workbook_Open()
Должен быть в модуле книги

Sub MyCopy()
должен быть в модуле макросов

Нужно клавишу брать в фигурные скобки:
Application.OnKey "%{z}", "MyCopy"
и ставить маленькую z


Вернуться в VBA

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

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

    TopList