|
|
|
Как обратиться из макроса надстройки к глобальной переменной макроса другой книги
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Ситуация такая. Есть файл "Книга1.xls", есть файл "Книга2.xls". Есть макрос надстройки "MyMacros.xla". Принцип работы следующий: 1. Открываю "Книга1.xls" 2. Через Сервис->MyMacros вызываю надстройку "MyMacros.xla". 3. В MyMacros.xla предоставляется возможность открыть другой файл. Открываю "Книга2.xls". 4. В "Книга2.xls" в объекте "Module1" описана глобальная константа MyVar. Вопрос: как из макроса надстройки "MyMacros.xla" обратиться к "Книга2.xls" и вытащить значение глобальной константы MyVar? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:13 |
|
||
|
Как обратиться из макроса надстройки к глобальной переменной макроса другой книги
|
|||
|---|---|---|---|
|
#18+
Можно ли напрямую обратится к переменной из другой книги - не помню. Но в той другой книге, ты всегда можешь объявить глобальную функцию типа function GetMyVar GetMyVar = MyVar end function а потом вызывать эту функцию из любой книги через somevar = Book1!Module1.GetMyVar() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:33 |
|
||
|
Как обратиться из макроса надстройки к глобальной переменной макроса другой книги
|
|||
|---|---|---|---|
|
#18+
На счет вызова функции, которая описана в макросе другой книге - это реализуемо и это понятно. А вот как обратиться к глобальной константе, которая, например, описана в том же модуле, что функция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:52 |
|
||
|
Как обратиться из макроса надстройки к глобальной переменной макроса другой книги
|
|||
|---|---|---|---|
|
#18+
Ситуация такова, что макрос другой книги - неизменный, и дополнительные функции туда не дописываются. Есть только глобальная константа, значение которой необходимо определить из макроса надстройки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:55 |
|
||
|
Как обратиться из макроса надстройки к глобальной переменной макроса другой книги
|
|||
|---|---|---|---|
|
#18+
В макросе книги "Книга2.xls" прописал функцию function GetMyVar GetMyVar = MyVar end function В макросе надстройки такая ситуация: Public w_e, fs As Variant ' ** Открываю книга2 ** ' fOpen = Application.GetOpenFilename("Exel File(*.xls), *.xls", 1, "Îòêðîéòå ôàéë ýòàëîíà") Set fs = CreateObject("Scripting.FileSystemObject") w_e = fs.GetFileName(fOpen) w_e приимает значение - Книга2.xls Далее вызываю функцию (пробую двумя способами), но оба возвращают пустое значение: my_var = w_e!Module1.GetMyVar() MsgBox my_var my_var = Workbooks(w_e)!Module1.GetMyVar() MsgBox my_var Может в синтаксисе ошибку делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 18:36 |
|
||
|
Как обратиться из макроса надстройки к глобальной переменной макроса другой книги
|
|||
|---|---|---|---|
|
#18+
denden' ** Открываю книга2 ** ' fOpen = Application.GetOpenFilename("Exel File(*.xls), *.xls", 1, "Îòêðîéòå ôàéë ýòàëîíà") Set fs = CreateObject("Scripting.FileSystemObject") w_e = fs.GetFileName(fOpen) w_e приимает значение - Книга2.xlsЭ? Это что за фигня? w_e в данном случае это просто текстовая перменная с именем файла. К открытию книги это отношения не имеет. Короче. В одной книге (hello.xls) в независимом модуле описываешь: Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 19:01 |
|
||
|
Как обратиться из макроса надстройки к глобальной переменной макроса другой книги
|
|||
|---|---|---|---|
|
#18+
White Owl, большое спасибо, всё получилось, только с небольшой корректировкой: hello.xls необходимо заключить в одинарные кавычки: str = Run("'hello.xls'!getVar") Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 19:19 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=237&tid=2164137]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 292ms |

| 0 / 0 |
