|
|
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
привет, вопрос: Мне необходимо при открыти XLS файла перехватить это событие и стандартный диалог подменить своим. Куда копал-создал книгу с Private Sub Workbook_Open() ' тут какой то мой код endsub Далее книгу эту сохранил в XLSTART каталог, отрабатывает только один раз на запуске Екселя.. Мне же надо чтоб эта Workbook_Open дергалась каждый раз при открытии нового файла( из уже открытого екселя) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 07:46:14 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
Кхе-кхе, тему неудачно назвал.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 07:58:18 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
К сожалению через Implements не получится то что мне нужно.. Если бы было событие что то вроде AppEvents_Before_Open А так- увы :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 13:20:04 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
Дополню немного, для ворда cделал гибрид автозагружаемого шаблона с переопределением событий через Implements В автозагружаемом шаблоне создал SUB FILEOPEN() Т.е. при File->Open отрабатывает мой код, Вот для екселя чего то подобного не могу нарыть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 13:25:59 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
ПДК сожалению через Implements не получится то что мне нужно.. Если бы было событие что то вроде AppEvents_Before_Open А так- увы :-( 1) Ты уверен в том, что говорим об одном и том же? Слова Implements нет ни в моем сообщении, ни на странице Чипа Пиарсона, ни в его примере ( http://www.cpearson.com/Zips/APPEVENT.ZIP ) 2) Интересно, чем не подошло событие Private Sub App_WorkbookOpen(ByVal Wb As Excel.Workbook) , если до этого подходило Workbook_Open() 3) Может поподробнее о том, что тебе нужно? KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 13:36:09 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
Так, сначала подробней из внешнего приложения открываю Excel по Createobject() мне нужно сделать перехват открытия документа, вместо стандартного диалога открытия документа подсунуть свой. Ну а что касается Implements, то по ссылке именно это и есть только "за кадром" Переопределение событий дерганьем за открытые интерфейсы и раннее связывание.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 13:46:54 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
Наверное я действительно не понятно вопрос поставил.. Перехват нужен открытия файлов ( не одной книги ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 14:00:54 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
ПДТак, сначала подробней из внешнего приложения открываю Excel по Createobject() мне нужно сделать перехват открытия документа, вместо стандартного диалога открытия документа подсунуть свой. Ну а что касается Implements, то по ссылке именно это и есть только "за кадром" Переопределение событий дерганьем за открытые интерфейсы и раннее связывание.. Дык может тогда просто поменять проперть OnAction для коммандбарконтрола File->Open, или лучше спрятать его и заменить другим? Приблизительно то же можно проделать с методом OnKey для соотв. комбинации клавишь. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 14:02:37 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
Попробую сделать так.. Хех и меню прикрывать тогда придется.. Досадно, что с вордом трюк прошел на ура.. создал sub FileOpen ,подсунул туда свой код и все.. Спасибо, будем пилить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 14:09:12 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
Так и не понял почему тебе не подошёл совет от KL (XL) На всякий случай выкладываю пример! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 11:02:28 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
Вариант от KL (XL) и ваш пример- не совсем то, что мне нужно. Мне надо каким то способом изменить поведение Екселя.. При выборе пункта File->Open поймать это событие и стандартное диалоговое окно заменить своим.. в последнем посте KL (XL) вроде бы меня понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 11:23:28 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
ПД Надеюсь, я правильно поняла задачу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 13:28:54 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
2 Lena_##### Да- в самую точку, спасибо огромное :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 14:01:07 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
KL (XL) идеолог, ему спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2007, 14:29:39 |
|
||
|
Автозапуск
|
|||
|---|---|---|---|
|
#18+
Еще вопрос в продолжение темы.. Пробовал 2 варианта работы с этим файлом. 1) Перед запуском Excel программно понижаю в реесте уровень безопасности, выгружаю этот XLS из своего EXE и открываю myApp.Workbook.open(....) Все работает отлично, получается открывать разные файлы и сохранять обратно в базу. Но если сразу пытаешься сохранить "этот файл", вылазит неприятное окошко с сообщением "Предупреждение о конфиненциальной ин-ции, документ содержит макросы, ActivX" и т.п. DisplayAlerts=False не помогает. 2) Пробовал копировать этот файл перед стартом Excel в XLSTART, после этого myApp.Workbook.Add() - не открываю его. Тут я понимаю он сам должен подхватываться екселем..?? Но почему то отрабатывает через раз или вобще не отрабатывает. Может это связано с модификацией панели "Standart"?? Появляется в EXCEL файл Excel11.XLB Ну и вопросы: 1) Можно ли погасить окно с предупреждением см. п.1 2) Что еще нужно, чтоб файл лежащий в XLSTART подхватывался.. PS Ногами просьба не пинать, ну не спец я в офисах :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 09:50:18 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34499471&tid=2183040]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 289ms |

| 0 / 0 |
