Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno VBA Excel

Ak to chceš robiť v Exceli, tak vo VBA pri otvorení zošita určíš pomocou metódy SetLinkOnData meno makra, ktoré sa má spúšťať pri každej aktualizácii dát z DDE servera. Malo by to ísť nejako takto:

Private Sub Workbook_Open()
    SetLinkOnData "WinWord|'C:\MSGFILE.DOC'!DDE_LINK1", "OnDataChanged"
End Sub

Private Sub OnDataChanged()
    Dim aCell As Range
    
    Set aCell = Sheet2.Range("A1")
    Set aCell = aCell.Offset(aCell.CurrentRegion.Rows.Count)
    
    aCell.Value = Sheet1.Range("A1").Value
    aCell.Offset(0, 1).Value = Sheet1.Range("A2").Value
End Sub

Tento kód treba vložiť ako makro zošita (Workbook), nie ako makro listu (Sheet).

Nijako som to netestoval, takže by som si v OnDataChanged pre istotu umiestnil bod prerušenia (napr. stlačením F9), že či sa to nespúšťa častejšie, než treba.

Keby som niečo také potreboval a nebol by som viazaný na Excel, napísal by som si na to samostatný program (napríklad v C/C++/C#). Ešte pred tým by som si zistil, či sa k tým dátam nedá dostať nejako inak, než cez DDE.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny