|
|
|
надо После CreateObject(Excel... сменить в неём CurDir
|
|||
|---|---|---|---|
|
#18+
надо После CreateObject(Excel... сменить в нём (в Excel) CurDir из Аксессовского кода. чтой-то туплю вспомошествуйте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 16:03:53 |
|
||
|
надо После CreateObject(Excel... сменить в неём CurDir
|
|||
|---|---|---|---|
|
#18+
Аллё! Помёрзли чоль все? Очень нужно. XL.Application.DefaultFilePath = NewPath не подходит - не хочу менять настройки пользователей. К тому же DefaultFilePath будет влиять только на следующий сеанс екселя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 16:17:54 |
|
||
|
надо После CreateObject(Excel... сменить в неём CurDir
|
|||
|---|---|---|---|
|
#18+
И де гуру? пока нашел обход Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. но не кульно 2 раза создавать Excel.Application только чтобы поменять в его конечном сеансе текущую директорию. Как выполнить ChDir для сеанса екселя из сеанса аксесса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 17:05:28 |
|
||
|
надо После CreateObject(Excel... сменить в неём CurDir
|
|||
|---|---|---|---|
|
#18+
up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 19:01:44 |
|
||
|
надо После CreateObject(Excel... сменить в неём CurDir
|
|||
|---|---|---|---|
|
#18+
1. итак, можно ли пробраться от объекта Application напрямую через пространство имен к "методу" VBA.ChDir библиотеки VBA безусловно "подключенной" к нашему объекту "Ёксель" (и задействовать этод "метод" имменно этим нашим объектом ("Ёксель") через некую цепочку ссылок) не ясно. Т.е. непонятно, собсно, как перейти от Ёксель к VBA (в нём). Вроде бы подходящих свойств, возвращающих подключенные библиотеки (Self) нет? Как и методов, позволяющих некоторому обьекту Application запускать ф-ии подключенных к нему библиотек? 2. Методы типа Run работают, кажется, только с функциями определенными в некотором проекте ёкселя. Передать им библиотечную функцию мне не удалось. Если кто знает топ-секрет - просьба поделиться. 3.Связываться с DDE вообще непонятно как. Если Topic:=System (собственно эксель), то строка ChDir не интерпретируется самим экселем. Надо вызвать "раздел" VBA. Можно ли это сделать (есть ли такой)? Если нет - что слать в System - не понятно. (В аксесе надо бы слать, кажется, методы DoCmd). И + изначальная проблема (кажется не шибко разрешимая) с получением канала на конкретный ексель из множества запущенных. 4. Есть еще и ""программирование"" посыла клавиш, что в нашем случае выглядит примерно так (из под самого екселя): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Но вызывая из аксесса некий аналог указанной процедуры натыкаемся на то, что диалог может и не получить (всех) посланных в него клавиш (что вполне отвечает этой манере "программирования"). Несколько спасает такой трюк (приписывание пробелов в начале отсылаемой строки - благо диалог ее трямкает сам).: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. но это не есть карошо: ибо обеспечить на все 100 закрытие диалога при "пролете" строки (а именно {ESC}) "мимо тазика" никак не возможно. Пусть даже я промахнусь с посылом пути (и ошибку отслежу), но открытый диалог (и сам эксель), который пользователь не вызывал, да + "подвисший" в ожидании закрытия диалога аксесс, вызовет у юзера легкое замешательство. (И это не говоря о неизбежном вздрагивании, которое будет производить мелькание диалога при "штатной работе" такой ф-ии) вот и думай, куды крестьянину поддаться. колитесь, гуру, какие еще есть лазейки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 13:51:15 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=45&tid=1671127]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 316ms |

| 0 / 0 |
