Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Maledetti DDE

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Maledetti DDE

Postdi premiums » 20/02/12 22:51

Salve a tutti del forum,
approfitto di salutare Flash e Anthony per avermi sempre aiutato alle mie lagune inerente ai dati DDE.

Vi scrivo che ho un altro piccolo ma grande problema, spiego in poche parole :

In excel ho un foglio1 (excel) dove sono raggruppati una serie di dati provenienti da sorgenti DDE (PLC)

in un altro foglio2 > cella D1 mi indica un determinato valore usando la funzione VLOOCKUP (CERCA.VERT) e fin qui ci siamo il tutto è funzionante.

Ora il valore, che viene visualizzato nella cella D1, quando assume un valore mi dovrebbe avviare una macro ma tutto questo non avviene, grazie ai maledetti DDE, sono giorni che effettuo svariate prove ma senza risultati.

Il codice per il controllo è il seguente :

in VBA

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
ind = Target.Address(RowAbsolute:=False, ColumnAbsolute:=False)
If ind = "D1" Then <----------------------------------------------------------- cella DDE generato
If Target.Value = 1 Then MACRO1
End If
Application.EnableEvents = True
End Sub
--------------
Sub MACRO1()
Cells(1, 1).Value = Time
End Sub

HELP ME !!!
Anticipatamente ringrazio
premiums
Utente Junior
 
Post: 21
Iscritto il: 04/11/10 11:20

Sponsor
 

Re: Maledetti DDE

Postdi Anthony47 » 20/02/12 23:28

Ancora oggi una cella che cambia a seguito di DDE non attiva nessun evento di Worksheet_Change, devi quindi ricorrere a SetLinkOnData (viewtopic.php?f=26&t=88828#p505357)

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Maledetti DDE

Postdi premiums » 21/02/12 09:15

Salve Antony,
già testato il SetLinkOnData il problema e che, come ho spiegato, è un filtro applicato ad una serie di dati DDE (660 link)

ora mi chiedevo si può applicare SetLinkOnData su di una cella ?
premiums
Utente Junior
 
Post: 21
Iscritto il: 04/11/10 11:20

Re: Maledetti DDE

Postdi premiums » 21/02/12 10:52

Anthony47 ho trovato la soluzione posto il codice usato

Sub controlla()
ActiveWorkbook.SetLinkOnData _
D3, _
"test"
End Sub

Dove la cella D3 è raggruppato calcoli effettuati ai valori dei link DDE, al variare esegue macro "test"

Corretto?
premiums
Utente Junior
 
Post: 21
Iscritto il: 04/11/10 11:20

Re: Maledetti DDE

Postdi Anthony47 » 21/02/12 23:49

Hummm.... se funziona e' ok; pero' la sintassi della SetLinkOn data e' diversa, del tipo
ActiveWorkbook.SetLinkOnData "WinWord|'C:\MSGFILE.DOC'!DDE_LINK1", "Mia_Macro"
(mentre tu useresti D3 invece che il nome di un link DDE)

Dal tuo primo messaggio mi pareva che la cella DDE che ti interessa tenere sotto controllo sia D1; quindi dovresti leggere quale e' il link impostato in D1 (qualcosa che somiglia a Programma|Documento!Link) e usarlo come parametro della SetLinkOnData.

Se con questa informazione non risolvi, ad esempio perche' non e' determinabile quale e' il link che dovrebbe innescare il tuo evento, allora dovresti valutare:
1) una macro OnTime, che si ripete ogni secondo e controlla se la cella che ti interessa e' cambiata e ora ha il valore che ti interessa per eseguire la macro; chiaramente in questo caso cambiamenti di durata inferiore a un secondo andrebbero perduti.
2) una macro di Worksheet_Calculate(), che si attiva a ogni ricalcolo consentendoti di fare tutti i test di interesse;
3) assegnare a tutti i link dde, o a tutti quelli che sono scritti in un range di indirizzi specifici, l' esecuzione della macro di controllo.
Chiaramente per le ipotesi 2 e 3 dovresti valutare la frequenza di esecuzione della macro e se l' appesantimento sull' uso della cpu e' tollerabile.

Per ogni ragionamento siamo qua.
Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Maledetti DDE":

Hard disk maledetti
Autore: Hobyone
Forum: Assistenza Hardware
Risposte: 2
maledetti trojan
Autore: omino
Forum: Sicurezza e Privacy
Risposte: 1

Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti