BF: Všechno šlape až do dne, kdy máš víc USB zařízení než je zdraví rozumné. Klávesnice, myš, mikrofon, RGB lampa č. 1, RGB lampa č. 2, jedna webkamera, druhá webkamera (protože jiný úhel, že ..), Backlight LED RGB pásky na monitor, větrák, podsvícená podložka pod myš, tři externí HDD, víceportový adaptér do kterého je zapojený HUB PORT 2 a ten krmí HUB PORT 3, USB repráčky.
A pak to přijde: "Nemám žádný volný port USB!"
PCIE slot kam bych mohl zapojit dejme tomu "4x3.1 USB" ? Zabrala ho velikost kolosalního GPU, který žere víc wattů jak dětský tábor.
Tak co teď? Jasně, je tu HUB, ale jaký? Ty levné jsou spíš loterie. Maximálně jedno slušný Ačko, těch je ale hodně ruzných typů kvality a jsou často omezené na [USB-A USB 2.0] kvality odpovidající plastikové hračce z Kinder vajíčka. Co tedy dělat. Odpověd je jednoduchá, použijte USB Type-E.
Přejít na článek
Skús trochu viac opísať, čo presne potrebuješ.
Dáta sa už nejakým spôsobom do A1 a A2 načítavajú? Hodnoty to má získavať len vtedy, keď je otvorený excelovský súbor? Má sa ukladať len posledná hodnota alebo zoznam všetkých získaných hodnôt? Prečo to má byť vôbec spravené vo VBA?
Přesně tak, data se načítají z DDE Serveru, tedy v A1 mám aktuální čas, a v A2 číselnou hodnotu. Tedy čas se mění tak jak běží a hodnota v A2 se mění podle údajů ze serveru.
Vše běží jen při otevřeném excelu.
Tedy konkrétně:
v A1 mám čas např. 17:04 v A2 aktuální teplotu 30,2 (možná je už míň)
vše by se mělo ukládat asi takto (vždy při změně), počínaje časem spuštění
17:00 30,50
17:00 30,40
17:01 30,40
17:02 30,30
17:03 30,20
17:04 30,00 - aktuální stav, není nutný (je jinde, v A1 a A2)
Může to být provedeno i jinak než ve VBA, ale nic jiného mě nenapadlo.
Teď snad je to již jasné. Dík. Pavel
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:
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.