powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запись данных, получаемых по DDE каналу
3 сообщений из 3, страница 1 из 1
Запись данных, получаемых по DDE каналу
    #33686238
Paradox_Vaha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Возник очень важный для меня вопрос. Получаю данные по DDE каналу, они меняются с интервалом 10-15 секунд.
Как отображать их на лите я нашел, а вот как фиксировать их изменения - у меня не получается. Вобщем хотелось бы написать макрос, который бы автоматически при изменении значения в ячейке записывал бы это значение в столбец по порядку. Пытался использовать ф-цию
Private Sub Worksheet_Change(ByVal Target as Range), но она срабатывает только тогда когда я сам поменяю какое нибудь число на листе. В помощи по Excel есть что то насчет этого, но реализовать у меня не получается.
Есть функция SetLinkOnData - но она совсем не расписана как её задать.
Extended link data - тоже не могу понять как прописать. Очень прошу помочь.
Заранее спасибо.
...
Рейтинг: 0 / 0
Запись данных, получаемых по DDE каналу
    #33686666
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первый вариант. Использовать метод "SetLinkOnData" для вызова соответсвующей процедуры при изменении данных из внешнего источника.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Workbook_Open()
    Dim varLinks As Variant
    Dim intI As Integer
    
    varLinks = ThisWorkbook.LinkSources(xlOLELinks)
    
    If Not IsEmpty(varLinks) Then
        For intI =  1  To UBound(varLinks)
            ThisWorkbook.SetLinkOnData varLinks(intI), "IsUpdate"
        Next intI
    End If
End Sub

Код: plaintext
1.
2.
Public Sub IsUpdate()
    MsgBox "Вариант 1."
End Sub

Второй вариант. Воспользоваться событием листа "Calculate".

Код: plaintext
1.
2.
3.
4.
Private Sub Worksheet_Calculate()
    Application.EnableEvents = False
    IsUpdate2
    Application.EnableEvents = True
End Sub

Код: plaintext
1.
2.
Public Sub IsUpdate2()
    MsgBox "Вариант 2."
End Sub
...
Рейтинг: 0 / 0
Запись данных, получаемых по DDE каналу
    #33687052
Paradox_VaHa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо! Все получилось так, как я и хотел.
:-)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запись данных, получаемых по DDE каналу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]