связь с удаленным Excel средствами NetDDE

Программирование на Visual Basic for Applications
san*
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 17.06.2004 (Чт) 17:57
Откуда: Киев

связь с удаленным Excel средствами NetDDE

Сообщение san* » 21.09.2004 (Вт) 19:16

Win2000 Pro, Office XP Sp1
беру DDEShare.exe , выставляю на Comp2
Name My$
App Topic
Old Style Excel [Книга1.XLS]Лист1
NewStyle Excel.Sheet.8 Книга1.XLS
StaticStyle Excel Книга1.XLS

Пытаюсь с ним соединится с Comp1 прямо в Екселе в ячейке
='\\comp2\NDDE$'|'My$.OLE'!'Лист1!R1C1' - чего то не катит
Пишу в VBA в Ворд на машине Comp1
ch=Application.DDEInitiate ("\\comp2\NDDE$","My$.OLE")
Msgbox Application.DDERequest(ch,"Лист1!R1C1")
Результат - отрицательный. Может кто пробовал и получилось :roll:
Помогите плиз! Все делаю как в MSDN!

san*
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 17.06.2004 (Чт) 17:57
Откуда: Киев

Сообщение san* » 24.09.2004 (Пт) 12:53

Никаких гипотез? :(

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 25.09.2004 (Сб) 20:22

Извини не могу сейчас проверить, а ты не пробовал записать макросом действия по вставке ссылки на другую книгу?
Но по-моему там нет явного упоминания о NetDDE!
К сожалению на сеть попаду только в середине следующей недели. так что помочь раньше не смогу!
Удачи

san*
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 17.06.2004 (Чт) 17:57
Откуда: Киев

Сообщение san* » 27.09.2004 (Пн) 12:27

Не понял :oops: Объясни что ты имел в виду и как это сделать

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 30.09.2004 (Чт) 15:48

Насколько я понял, Ты пытаешься сделать ссылку на другую книгу.
Прямо в ячейке пиши:
='\\comp2\c$\[test.xls]Лист1'!$A$1

тогда при изменении значения в '\\arm99\c$\[test.xls]Лист1'!$A$1 ,можно обновлять значение ссылки.

Или я понял всё с точностью до наоборот?

san*
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 17.06.2004 (Чт) 17:57
Откуда: Киев

Сообщение san* » 30.09.2004 (Чт) 16:06

А ты это проверял? Оно наверное работает не через NetDDE, а мне нужно именно через NetDDE, потому что такой обмен на самом деле хочу сделать из VB с другими программами, а Ексель всего лишь проверка функционирования NetDDE. Проблема в том, что в MSDN написано именно так, как я писал, а у меня чегото нифига не выходит.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 30.09.2004 (Чт) 17:54

='\\comp\NDDE$'|'My$.ole'!'R1C1'

беру DDEShare.exe , выставляю на Comp
Имя My$
App Topic
Old Style Excel [test1.XLS]Лист1
NewStyle Excel.Sheet.8 test1.XLS
StaticStyle Excel test1.XLS

Разрешить запуск приложений - да
Доступ ко всем объектам - да
Разрешения - Всем - полный доступ

В общих ресурсах выделяю - My$ - Доверенный ресурс
Разрешить запуск приложений - да
Создание сеансов - да
Кнопки - "Задать", "Ок"


На диске - папку, в неё файл test1.xls и самой папке сетевой доступ под именем "My$" - , безопасность - всем полный.
В test1.xls в А1 - любое значение.

В тестовую книгу в любую ячейку:
='\\comp\NDDE$'|'My$.ole'!'R1C1'

А это из VBA Excel:
Код: Выделить всё
Sub asdewq1()
Dim ch As Long
Dim s As Variant
ch = Application.DDEInitiate("\\comp\NDDE$", "My$")
s = Application.DDERequest(ch, "R1C1")
MsgBox CStr(s(1))
End Sub

Удачи очень интересно и много непонятного!!!


Вернуться в VBA

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

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

    TopList  
cron