Pagina 1 di 3 123 UltimaUltima
Risultati da 1 a 30 di 66

Discussione: collegare 2 istanze excel



  1. #1
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    collegare 2 istanze excel

    Buongiorno a tutti sono un nuovo arrivato,

    chiedo Ŕ possibile collegare 2 istanze excel indipendenti, in sostanza avrei da A1:F1 di un file excel foglio1 dove ci sono dei dati in real time che si aggiornano di continuo collegarli in modo di essere constantemnte aggiornati ad una istanza excel nuova, sempre nel foglio1 e celle da A1:F1, spero proprio di si, e se possibile temporizzando il collegamento ogni 5 secondi o che comuqnue si possa variare la temporizzazione a mio piacimento se mi servisse, naturalmente modificando i
    parametri.

    Dalla stessa istanza collegare in real time fogli e cartelle diverse Ŕ banale ho visto ma da istanze indipendenti sempre di excel probablimente serve una macro forse o qualcosa del genere.. premetto uso excel 2003 e 2010 ,, ma mi trovo decisamente meglio con il 2003

    grazie ancora dela vostra gentilezza

    mack

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Cosenza
    EtÓ
    45
    Messaggi
    2833
    Versione Office
    Excel 2013
    Likes ricevuti
    1027
    Likes dati
    983

    Re: collegare 2 istanze excel

    Faccio fatica a capire la richiesta. E' meglio se alleghi un file di esempio anche di poche righe, senza dati sensibili.

  3. #3
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    grazie dell'interessamento,

    ho una cartella excel dove nel foglio1 nella prima riga in 6 celle in seguenza ricevo in real time i valori dei dati di borsa che continunano ad aggiornarsi ad ogni variazione di prezzo.
    e cioe: descrizione / data/ ora:min:sec/ bid / ask/ volume
    CELLE : A1 B1 C1 D1 E1 F1

    vorrei collegare queste 6 celle con i valori che si aggiornano in real time in un altro file excel aperto con un altra istanza di excel sempre 2003( magari in modo temporizzato ogni 5 secondi o altro frime time) questo perche la EA
    che Ŕ collegata a mt4 una piattaforma di borsa molto usata.. non mi permette di aprire mentre sta acquisendo i dati in real time in un foglio excel, altri file da quella istanza excel (dovrei poter utilizzare quei dati ed elaborarli .. se apro un altro file nuovo questa mi va a scrivere i 6 valori nella prima riga del file nuovo che vado ad aprire sempre da quella istanza di excel impendendomi cosi di lavorare nel nuovo file.... e mi dicono che Ŕ un problema di mt4excel.dll non risolvibile..
    allora pensavo di raggirare l'ostacolo collegando il file origine una istanza indipendente di excel....ma se mi dici che vuoi dare una occhiata al codice EA che va a pescare i dati dalla Mt4 te lo giro magari in privato o dove vuoi tu o in skype come preferisci... e modificarlo in in modo che salvi i dati correttamente e mi permetta poi di elaborarli da quella sessione.. che altrimenti cosi Ŕ impossibile lavorarci ...
    grazie ancora della tua gentilezza e prontezza di riscontro... cosa rara....
    Ultima modifica fatta da:Canapone; 18/05/16 alle 12:24 Motivo: [quote] inutile

  4. #4

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Cosenza
    EtÓ
    45
    Messaggi
    2833
    Versione Office
    Excel 2013
    Likes ricevuti
    1027
    Likes dati
    983

    Re: collegare 2 istanze excel

    Citazione Originariamente Scritto da mack99 Visualizza Messaggio
    [...] ma se mi dici che vuoi dare una occhiata al codice EA che va a pescare i dati dalla Mt4 te lo giro magari in privato o dove vuoi tu o in skype come preferisci... e modificarlo in in modo che salvi i dati correttamente e mi permetta poi di elaborarli da quella sessione.. che altrimenti cosi Ŕ impossibile lavorarci ...
    grazie ancora della tua gentilezza e prontezza di riscontro... cosa rara....
    non Ŕ consentito da regolamento lo scambio di file in privato, l'intento del Forum Ŕ di condividere e risolvere problemi che potrebbero essere utili ad altri.
    Crea un file con nomi finti e allegalo. Sicuramente ci sarÓ qualcuno disposto ad aiutarti.

  5. #5
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    non Ŕ consentito da regolamento lo scambio di file in privato, l'intento del Forum Ŕ di condividere e risolvere problemi che potrebbero essere utili ad altri.
    Crea un file con nomi finti e allegalo. Sicuramente ci sarÓ qualcuno disposto ad aiutarti.
    ok non era sicuramente mia intenzione, i file Ŕ banale file origine che riceve i dati in real time che si sovracrivono nella celle della riga 1, devo collegarli ad un file destinazione sempre nella stessa posizione di celle e riga.. ma devono essere 2 sessioni di excel diverse il file destinazione non devo aprirlo perchŔ si aggiorni dalla stessa istanza del file origine ( se possibile chiedo che i dati ricevuti nel file destinazione sia possibile temporizzare l'aggiornamento ogni 5 secondi .)
    grazie ancora ...
    File Allegati File Allegati

  6. #6
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    vedo che hai 2010...
    ti dovrebbe bastare impostare il secondo file, attraverso
    menu-> dati-> importa da file esterno.

    ma poi scusa, perchŔ devi importare da chi importa? non puoi importare direttamente la fonte anche nel secondo file?

  7. #7
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    il problema Ŕ che la AE di MT4 riceve direttamente in excel 2003 in una cartella1 foglio1 prima riga celle come sopra riportato e non mi permette di aprire altri file excel da quella sessione di excel, altrimenti ci va a scrivere sopra,, volevo restare nel 2003 perche poi devo agganciare quel file excel ad un altro file excel 2003 dove ci sta una macro ... che presumo in excel 2010 non funzioni correttamente se non modificandola ...

  8. #8
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    Citazione Originariamente Scritto da dracoscrigno Visualizza Messaggio
    vedo che hai 2010...
    ti dovrebbe bastare impostare il secondo file, attraverso
    menu-> dati-> importa da file esterno.

    ma poi scusa, perchŔ devi importare da chi importa? non puoi importare direttamente la fonte anche nel secondo file?
    ,
    scusa una cosa siccome non lo ho quasi mai provato il 2003 so che importa dati esterni ma non inferiore al minuto di temporizzazione,
    mentre il 2010 Ŕ anche a 5 secondi l'esportazione??? altrimenti non mi serve

  9. #9
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    la mia era solo un idea, non ne ho la pi¨ pallida idea di quanto possa essere veloce l' aggiornamento . Non credo che sia tanto lento da aggiornare ogni 5 minuti. anche perchŔ ricordo un vecchio studio di qualche anno fa dove aggiornavo il foglio di calcolo con dei dati prelevati da una pagina html ed a memoria direi che il tempo era inferiore e mi sembra che comunque si possa impostare.

    Io, a parte l' idea, non so andare molto oltre.

    A meno che non sia sufficiente una macro nel foglio originale che parte ogni tot tempo e:
    Apre il file origine dopo aver controllato che non sia gia aperto.
    copioincolla il rage che vuoi aggiornare e poi chiude il foglio.

    ... uff... devo scappare...

  10. #10
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Binasco
    EtÓ
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: collegare 2 istanze excel

    Credo che una macro funzioni sia in 2003 ed altre versioni con eventuali modifiche.

    Mi domando, arrivo in ufficio ed accendo il PC
    Si presume che i DATI arrivano subito al PC senza cliccare nulla.
    Se non erro l'utente chiede (posso ottenere in un nuovo file i dati in altro file ogni 5 secondi?) = Si, se avvii un'altra macro
    Ora Excel deve aggiornare i DATI nel foglio principale.
    Inoltre deve aggiornare i DATI nel file che desidera ogni 5 secondi.
    Non saprei cosa Ti rimane per analizzare quei DATI in quel istante?
    Soppratutto interagire con Excel (prova a scrivere in una cella =aaaa) e vedi quando tempo dopo la visualizza). Comunque un esempio
    Codice: 
    Option Explicit
    Dim Tempo As Date
    Sub avvia()
    Tempo = Now + TimeValue("00:00:05")
    Application.OnTime Tempo, "macro"
    End Sub
    Ultima modifica fatta da:Gerardo ZuccalÓ; 18/05/16 alle 23:02 Motivo: Messo il codice VBA tra i TAG CODE

  11. #11
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    Raffaele. Conosco molto poco la connessione dati. l' avr˛ usata un paio di volte a dire molto e dovrei rileggermi un paio di cose per capire come affriontarla. Anche io stavo pensando a fare al cosa attraverso l' uso di ontime in una macro del file originale.

    Ogni tot la macro valuta se il file secondario Ŕ aperto oppure da aprire.
    se NON aperto allora lo apre, lo aggiorna, lo salva e lo richiude.

    Se aperto, significa che Ŕ in uso quindi, magari, un messaggio chiede all' utilizzatore se vuole aggiornare i dati
    ... effettivamente... nello scrivere... Mi sovviene.. ma che dovete aggiornare ogni 5 secondi, i dati relativi ad un allunaggio? :166:

    Insomma, ci sono un paio di metodi attuabili. Mo vediamo cosa salta fuori :279:

  12. #12
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Binasco
    EtÓ
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: collegare 2 istanze excel

    Se Ti serve posso allegare un esempio con la stessa Istanza aperta tra due file.
    Purtroppo l'utente ha chiesto due Istanze aperte e non s˛ come dirgli di prendere i dati d'altro file aperto.

  13. #13
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    Citazione Originariamente Scritto da Raffaele_53 Visualizza Messaggio
    ... posso allegare un esempio con la stessa Istanza
    perchŔ no. infondo Ŕ una risorsa in pi¨. io un occhuata gle la do volentieri.

    ps. aggiungi un paio di commenti in pi¨ di quelli che solitamente aggiungeresti.
    le cose per entrarmi in testa gan bisogno di martellate. soprattutto se son gua convinto della strada sbagliata :D :D

  14. #14
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Binasco
    EtÓ
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: collegare 2 istanze excel

    In un nuovo file copia il codice in un modulo e salva (xlsm) e chiudi.
    Creati un'altro file.xlsx e salva nella stessa cartella.

    Apri Excel (seleziona il file.xlsm, premi SHIFT e clicca Apri)
    Nel foglio crea un bottone che ferma il codice collegato a Sub mStop
    Metti nel codice il nome file.xlsx >>> Destinazione = "nomefile".
    Salva, chiudi e riapri (sub auto_Open, parte da solo).
    Ora se il Tuo file (xlsm a un collegamento alla rete che visualizza dati, automaticamente verrano salvati in file.xlsx)
    Codice: 
    Option Explicit
    ' variabile pubbliche
    Private bln As Boolean ' serve per spegnere
    Public Percorso As String
    Public Destinazione As String
    Public DatiWeb As String
    Sub Auto_Open()
    Percorso = ThisWorkbook.Path & "\" ' i due file nello stesso percorso
    DatiWeb = ThisWorkbook.Name ' nome del file giÓ aperto che preleva Dati dal Web
    Destinazione = "A01.xls" ' DA CAMBIARE .......il nome del file da aprire
    Workbooks.Open Filename:=Percorso & Destinazione
    Call mStart 'avvio temporizzatore
    End Sub
    Public Sub Aggiorna()
    Dim X, Ur
        If bln = True Then
            MsgBox "Ciao" ' in futuro da togliere
            Workbooks(Destinazione).Activate
            Ur = Sheets("foglio1").Range("A" & Rows.Count).End(xlUp).Row + 1 'ultima riga +1
            For X = 1 To 10 'ciclo da 1 a 10 colonne = A:J
            Sheets("foglio1").Cells(Ur, X) = Workbooks(DatiWeb).Sheets("foglio1").Cells(1, X)
            'Ciclo for per copiare la prima riga "A1:J1" del DatiWeb in Destinazione all'ultima riga
            Next
            Call mStart
        End If
    End Sub
    'macro temporizzatrice
    Public Sub mStart()
        Application.OnTime Now + TimeValue("00:00:10"), "Aggiorna" '10 secondi e avvio Sub Aggiorna
        bln = True
    End Sub
    'macro che interrompe
    Public Sub mStop()
        bln = False
        Workbooks(Destinazione).Close savechanges:=True ' chiude & salva il xlsx
    End Sub

  15. #15
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    Ciao Raffaele. Pubblico la tua macro con qualche modifica. Non molte a dire il vero.

    Ho tolto la messageBox con scritto Ciao perchŔ oltre a farti venir voglia di spaccare il Pc non esprime quello che sta capitando.

    L' ho sostituita con la dichiarazione di una variabile Static chiamat Aggiornamento, la quale viene stampata In cella A1 del primo foglio.


    Fa vedere cosa capita nel secondo file dove, avendo scelto di i,,ettere i dati in modo Append, si nota bene cosa capita.


    Effettivamente, se Ŕ possibile, per l' utente che non sembra poi molto interessato, visto che non si fa pi¨ leggere, infilare due righe di istruzione nel file master (quello che riceve i dati dal web) affinchŔ esso li trascriva nel file Slave, questo metodo mi sembra efficace e nemmeno troppo brigoso.

    Probabilmente c'Ŕ di meglio ma non mi sono ancora interessato al collegamento di pi¨ file.

    C'Ŕ da dire, per˛, che non Ŕ corretto parlare di due istanze della stessa application perchŔ, se bne ricordo, master e slave sono su due macchine differenti.
    Quindi sono due istanze separate.

    nella macchina Master abbiamo il file master che si aggiorna e al pi¨, apre momentaneamente Slave per trascrivere
    Nella macchina Slave abbiamo il file slave che viene aperto in lettura.

    Ora. non so bene come si comporti Excel in questi casi ma credo che per ovviare a problemi legati a chi ha aperto il file e chi pu˛ leggerlo o scriverlo, bisognerebbe anche creare un p˛ di listato per controllare se:

    Quando MacchinaMaster vuole aprireFileSlave, esso non sia gia in uso da MacchinaSlave e viceversa.

    Mi viene da pensare ma, ripeto, non so quali siano le potenzialitÓ di Excel a riguardo e quindi tiro ad indovinare, serve un file di swap che viene aperto e subito chiuso da ambe due le macchine al momento del bisogno:

    Di fatto:
    MAcchinaMaster apre, scrive e chiude FileSwap solo quando ha la possibilitÓ di farlo
    MacchinaSlave apre, legge e chiude FileSwap solo quando ha la possibilitÓ di farlo

    .... muble muble.... chissÓ quanto mi sto incartando.. Ma scossa quando torna dalle ferie su Marte?


    Allego la cartella dei due file giusto per avere qualcosa su cui lavorare tutti insieme
    File Allegati File Allegati

  16. #16
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Binasco
    EtÓ
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: collegare 2 istanze excel

    >>>messageBox con scritto Ciao perchŔ oltre a farti venir voglia di spaccare il Pc
    Quando appare, basta premere CTRL+ALT+PAUSE

    Una riga in mStop() Ŕ errata, va tolto il "Percorso &".
    Workbooks(Destinazione).Close savechanges:=True

    >>>sono su due macchine differenti
    Non vedo nessuna frase relativa a PC differenti, premessa

    Per me un'istanza significa che da Excel apro prima un file e poi l'altro. Come avviene col codice attuale.

    In due istanze, significa aprire Excel ed aprire un file.
    Aprire un'altro Excel e aprire l'altro file. Ora intergire tra i due Excel aperti non sono in grado.

    Domanda banale, ma non per mŔ.
    Ultimamente apro allegati, mentre lo visualizzo dopo circa 5 minuti (momento che parte il salvaggio automatico d'Excel) l'avviso di "Avviso per la privacy, questo documento contiene macro, controlli Activex ecc ecc". Mi sapete dire cosa sia? Quale impostazione per annullarla? Alcuni file e tutti i miei xlsm non lo fanno mai.

    Ps. Forse l'utente ha errato nello scrivere due istanze (utizza pi¨ memoria), mÓ credo che non lo sapremmo mai, dato che ha usato diversi forum.

  17. #17
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    Il tuo intervento mi ha fatto venir voglia di tornare indietro a rileggere e mi sono soffermato su questo stralcio:

    se apro un altro file nuovo questa mi va a scrivere i 6 valori nella prima riga del file nuovo che vado ad aprire sempre da quella istanza di excel impendendomi cosi di lavorare nel nuovo file.... e mi dicono che Ŕ un problema di mt4excel.dll non risolvibile..
    Quindi ho pensato, visto che di fatto, Quando apri uno, due, mille workbook, application Ŕ sempre la stessa.. credo... ho pensato che volesse utilizzare due macchine separate..

    Per˛, ora, mi Ŕ venuta voglia di visionare quel file che ha questo grande problema insormontabile. perchŔ, effettivamente, mi sembra strano (mi ero perso un altro pezzo del messaggio) che una macro scriva sul primo foglio attivo che gli si mette davanti a meno che non contenga i soliti errori di riferimento.



    Una riga in mStop() Ŕ errata, va tolto il "Percorso &".
    Workbooks(Destinazione).Close savechanges:=True


    Questa riga ha una lunga storia che non credo possa interessarti a meno che non ci si trovi davanti ad una buona birra fresca :D :D :D

    CTRL + ALT + PAUSE ferma la macro. io non volevo fermarla. volevo fosse un p˛ meno rompi scatole il segno tangibile che avvenisse qualcosa mentre piciolavo in giro.
    Il messaggino blocca tutto e devi cliccarlo.
    l' istruzione di scrivere qualcosa sul foglio, invece, non blocca niente. Quando il flusso del programma passa da li, lo vedo sul foglio e posso scrivere comunque del listato (non sempre) e posso saltare da un foglio all' altro... insomma, non devo pensare troppo a quell' istruzione ;)

  18. #18
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Binasco
    EtÓ
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: collegare 2 istanze excel

    h t t p s://groups.google.com/forum/#!topic/microsoft.public.it.office.excel/2B2ZJtEBllU

    Per due istanze EXCEL
    File1 = Riceve dati dal Web (giÓ aperto)
    File2 = Preleva i dati dal File1 (il codice si avvia appena aperto)
    Casomai aprire EXCEL, sceglier il file, premere SHIFT e col mouse cliccare apri

    Codice: 
    'Per due istanze EXCEL
    Sub Auto_open()
    MsgBox "Quando appare il MSG, per annullare il codice premere CTRL+ALT+PAUSE, nella nuova finestra rispondere fine"
    Dim xlApp As Excel.Application
    Dim Src As Range
    Dim Dst As Range
    Dim Vals() As Variant
    Dim Percorso As String, Nome As String
    Percorso = ThisWorkbook.Path & "\"
    Nome = ThisWorkbook.Name
    Set xlApp = GetObject(Percorso & "File1.xlsm").Application
    Set Src = xlApp.ActiveSheet.Range("A1:f1")
    Set Dst = Workbooks(Nome).Worksheets("Foglio1").Range("A1:f1")
    Vals = Src
    Dst.Value = Vals
    Application.OnTime Now + TimeValue("00:00:10"), "Auto_open"
    Set xlApp = Nothing
    Set Src = Nothing
    Set Dst = Nothing
    End Sub

  19. #19
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    Buongiorno e grazie molte della vostra gentilezza disponibilitÓ e competenza e scusatemi ma sono stato preso, il problema Ŕ che ho avuto poco tempo e avevo trovato questa, in rete che sono riuscito far funzionare ma sul pc vecchio con xp( troppo lento)..che Ŕ molto simile alla tua ultima sub..il problema Ŕ che xp sono riuscito farla funzionare con problemi e non sempre va...da errore di debug non capisco dove sbaglio ho provato con la sorgente che riceve i dati in excel gia a aperta e ho visto
    che solo quando questo file sorgente me lo apre in modalitÓ di sola lettura.. funziona non ho capito bene il meccanismo per farla funzionare senza problemi .. ma il problema principale che non mi funziona sul pc nuovo.. con windos 8.1 aggiornato a 10.. ma con excel 2003 ho fatto diverse prove ma non riesco a farla funzionare.... ora appena ho un attimo di tempo prover˛ anche la tua sub .. Ŕ che fine sett i mercati sono chiusi ed Ŕ il momento dove ho piu tempo....mi puoi dire la procedura corretta : perchŔ sinceramente non capiso sto caxx sbaglio che avolte funziona e a volte i percorsi sono corretti...comunque le istanze sono almeno 3 dovrei alla fine collegarle ad una 4░ istanza praticamente le 3 righe in un file un unico file in modo di poterle elaborare...pultroppo mi dicono che la mt4 dll non permette aprire altre cose mentre sta scariando i dati in real time.. se serve posto il codice magari Ŕ possibile pure modficandolo... grazie ancora

    Sub CopyValues()
    Dim xlApp As Excel.Application
    Dim Src As Range
    Dim Dst As Range
    Dim Vals() As Variant
    Set xlApp = GetObject("C:\gold.xls").Application
    Set Src = xlApp.ActiveSheet.Range("A1:f1")
    Set Dst = Workbooks("Cartel1.xls").Worksheets("Foglio1").Range("A1:f1")
    Vals = Src
    Dst.Value = Vals
    Application.OnTime Now + TimeValue("00:00:10"), "CopyValues"
    End Sub

  20. #20
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    io incomincio ad essee semplicemente confuso.
    Primo. di tutte le macro proposte, NESSUNA produce l' effetto di avere pi¨ di una sola istanza ad excel.apllication.
    Quelle fino ad ora create, sono una o pi¨ istanze alla classe workbook.

    Per rendersi conto di questo basta fare un piccolo esperimento:

    1 - Utilizzate una qualsiasi delle macro proposte di modo da attivare quella che secondo voi Ŕ la seconda istanza separate ad excel
    2 - Poi fate girar questa macro e guardate cosa vi restituisce la finestra immediato.
    Codice: 
    Sub prova()
        Dim app As Application
        Dim nuovaApp As Application
        Set nuovaApp = New Excel.Application
        Debug.Print Excel.Application.Workbooks.Count
        Debug.Print nuovaApp.Workbooks.Count
    End Sub
    Noterete che la New Application vi dirÓ che non ha neanche un workbooks aperto mentre la prima Aplication, quella che avete attivato nell aprire il file dove far girare la macro, avrÓ:

    un primo workbook (quello che avete aperto per poter attivare la macro
    un secondo workbook (quello che pensavate provenisse da un altra istanza di excel.application)
    Altri workbook (quelli che da qui non posso sapere se avete o meno aperti)


    Insomma, un Application avrÓ pi¨ di un workbook, mentre l' altra, la New application, ne avrÓ Zero.
    Cosa significa? che di norma non si anno due istanze differenti ad Application.

    E quindi il problema riscontrato non sta in application.


    Cosa credo io?

    Io credo che la macro che preleva i dati da non so dove e li scrive su un foglio, abbia delle istruzioni che terminano con SELECT ed altre che cominciano con SELECTION.

    Il sintomo di istruzioni del genere potrebbe essere che quando si selezionano dei fogli in giro, questi si popolino di dati oppure che un errore di run time salti fuori nel momento in cui si apre un foglio differente da quello che la macro utilizza.

    La prima cura Ŕ quella di correggere Selected e selection con qualcosa di pi¨ professionale ;)
    La seconda cura ve la dico se ho ragione. perchŔ, come al solito, sto tirando ad indovinare ;)

  21. #21
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    Codice: 
    Set Src = xlApp.ActiveSheet.Range("A1:f1")
    ActiveSheet


    ecco uno dei possibili problemi.

  22. #22
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    ti diro che su window xp gira tranquillamente ho visto ora provando e riprovando ma su windows 10 picche sicuramente avrÓ problemi il 2003 troppo datato ma anche s e ho su excel 2010 lei sente prima excel 2003 ... comuqne vi posto il codice che ho nella mt4 e che lancia l'istanza excel .. vi diro che del percoso di salvataggio se ne frega pure e pre una cartella excel e scrive nella riga 1 poi se da quella istanza fai qualsiasi cosa ti sposti in un altro foglio o apri un altro file le iniza a scrivere sempre nell'ultima operazione fatta ... ma se magari ci capite se Ŕ modificabile e si riesce ad ovviare alla seconda istanza excel per poter elaborare i dati :
    #property version "1.00"
    #property strict

    //Importo le funzioni dalla libreria.
    #import "mt4excel.dll"
    bool ExcelOpen();
    bool ExcelClose();
    bool ExcelOpenFile(char &FileName[]);
    bool ExcelSave();
    bool ExcelSaveAs(char &FileName[]);
    bool ExcelAddSheet(char &Name[]);
    double ExcelGetValueCell(int X,int Y);
    string ExcelGetTextCell(int X,int Y);
    string ExcelGetFormulaCell(int X,int Y);
    bool ExcelSetValueCell(int X,int Y,double Value);
    bool ExcelSetTextCell(int X,int Y,char &Value[]);
    string ExcelGetLastErrorText();
    #import
    //+------------------------------------------------------------------+
    //| Variabili globali |
    //+------------------------------------------------------------------+
    int Riga;
    //+------------------------------------------------------------------+
    //| Expert initialization function |
    //+------------------------------------------------------------------+
    int OnInit()
    {
    ExcelOpen(); //Apro il file.

    //Preparo i vettori.
    char valuta[],data[],orario[],ask[],bid[],volume[];

    //Trasformo le stringhe in vettori di caratteri.
    StringToCharArray("Valuta",valuta);
    StringToCharArray("Data",data);
    StringToCharArray("Orario",orario);
    StringToCharArray("Ask",ask);
    StringToCharArray("Bid",bid);
    StringToCharArray("Volume",volume);

    //Scrivo il nome di ogni colonna.
    ExcelSetTextCell(1,1,valuta);
    ExcelSetTextCell(1,2,data);
    ExcelSetTextCell(1,3,orario);
    ExcelSetTextCell(1,4,ask);
    ExcelSetTextCell(1,5,bid);
    ExcelSetTextCell(1,6,volume);
    //Aggiorno la riga.
    Riga=1;
    return(INIT_SUCCEEDED);
    }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
    {
    //Preparo il vettore.
    char cartella[];

    //Trasformo la stringa in un vettore di caratteri.
    StringToCharArray("C:\\gold.xlsx",cartella);

    //Salvo il file nella cartella specificata.
    ExcelSaveAs(cartella);
    //Chiudo il file.
    ExcelClose();
    }
    //+------------------------------------------------------------------+
    //| Expert tick function |
    //+------------------------------------------------------------------+
    void OnTick()
    {
    //Preparo i vettori.
    char simbolo[],data[],orario[];

    //Trasformo le stringhe in vettori di caratteri.
    StringToCharArray(Symbol(),simbolo);
    StringToCharArray(TimeToStr(TimeCurrent(),TIME_DATE),data);
    StringToCharArray(TimeToStr(TimeCurrent(),TIME_MINUTES|TIME_SECONDS),orario);

    //Scrivo i dati sul file.
    ExcelSetTextCell(Riga,1,simbolo);
    ExcelSetTextCell(Riga,2,data);
    ExcelSetTextCell(Riga,3,orario);
    ExcelSetValueCell(Riga,4,Ask);
    ExcelSetValueCell(Riga,5,Bid);
    ExcelSetValueCell(Riga,6,Volume[0]);
    //Aggiorno la riga.
    //Riga++;
    }

  23. #23
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    Ecco. mi sa che, davvvero non c' ho capito un piffero di cosa stai dicendo. comunque.

    Hai provato a fare due chiacchiere con l' autore del listato che hai postato?
    MAgari ti sa dare un risposta pi¨ esauriente di quella che potresti trovare qui?

    Anche perchŔ non Ŕ ne Visual Basic ne, tanto meno, VBA. forse C?

  24. #24
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    LocalitÓ
    Binasco
    EtÓ
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: collegare 2 istanze excel

    @dracoscrigno
    In effetti il titolo = collegare 2 istanze
    Immaginando un "broker finanziario" che deve vedere diverse BORSE in tempo reale, si potrÓ permettere d'avere 4 monitor ed avrÓ bisogno pure di 4 istanze Excel aperte.
    Ps, ActiveSheet non lo valuto come errore e non credo che debba cambiare foglio (sarebbe vuoto)

    @mack99
    >>>2003 troppo datato. Non credo (uso 2007)
    Siccome non conosco "mt4 dll", sarÓ questo che Ti ha fatto scrivere "diverse istanze". Comunque in teoria, credo che se apri manualmente le 4 istanze, in teoria apri la 5 istanza solo per raccogliere determinati dati dalle "istanze" dovrebbe funzionare. PC permettendo.
    Sul mio Pc funziona e posso permettermi pure di fare altre piccole cose in excel
    Codice: 
    'Aprire le 4 istanze EXCEL manualmente
    Private bln As Boolean ' serve per spegnere
    Public Sub mStart()
        Application.OnTime Now + TimeValue("00:00:10"), "Prendi_Dati" '10 secondi e avvio Sub Aggiorna
        bln = True
    End Sub
    Public Sub mStop()
        bln = False
    End Sub
    Sub Prendi_Dati()
    If bln = True Then
    Dim xlApp1 As Excel.Application, xlApp2 As Excel.Application, xlApp3 As Excel.Application, xlApp4 As Excel.Application
    Dim Vals() As Variant
    Dim Percorso As String, Nome As String, Dst As Range, Src As Range, X, Ur
    Percorso = ThisWorkbook.Path & "\"
    Nome = ThisWorkbook.Name
    Set xlApp1 = GetObject(Percorso & "slave1.xlsm").Application
    Set xlApp2 = GetObject(Percorso & "slave2.xlsm").Application
    Set xlApp3 = GetObject(Percorso & "slave3.xlsm").Application
    Set xlApp4 = GetObject(Percorso & "slave4.xlsm").Application
    
    Set Src = xlApp1.ActiveSheet.Range("A1:f1")
    Ur = Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row + 1
    Set Dst = Workbooks(Nome).Worksheets("Foglio1").Range("A" & Ur & ":F" & Ur)
    Vals = Src
    Dst.Value = Vals
    
    Set Src = xlApp2.ActiveSheet.Range("A1:f1")
    Ur = Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row + 1
    Set Dst = Workbooks(Nome).Worksheets("Foglio1").Range("A" & Ur & ":F" & Ur)
    Vals = Src
    Dst.Value = Vals
    
    Set Src = xlApp3.ActiveSheet.Range("A1:f1")
    Ur = Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row + 1
    Set Dst = Workbooks(Nome).Worksheets("Foglio1").Range("A" & Ur & ":F" & Ur)
    Vals = Src
    Dst.Value = Vals
    
    Set Src = xlApp4.ActiveSheet.Range("A1:f1")
    Ur = Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row + 1
    Set Dst = Workbooks(Nome).Worksheets("Foglio1").Range("A" & Ur & ":F" & Ur)
    Vals = Src
    Dst.Value = Vals
    
    Set xlApp1 = Nothing
    Set xlApp2 = Nothing
    Set xlApp3 = Nothing
    Set xlApp4 = Nothing
    Set Src = Nothing
    Set Dst = Nothing
    Call mStart
    End If
    End Sub

  25. #25
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    io non sono un broker finanziario ma gioco con due monitor (uno Ŕ quello nativo del lap top e l altro un 32 pollici collegato via dmi)

    ho sempre pi¨ di un workbook in memoria e sempre un solo "microsoft excel" in memoria.

    e la tua macro qui sopra, ancora una volta, sta accedendo a workbook differenti con la stessa application.

    ?application.worbooks.count

    ti restituirÓ 4 come valore.

    ora scappo al lavoro e verifico quanto affermo questa sera. magari sbaglio ed imparo una nuova cosa.

  26. #26
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    Citazione Originariamente Scritto da dracoscrigno Visualizza Messaggio
    Ecco. mi sa che, davvvero non c' ho capito un piffero di cosa stai dicendo. comunque.

    Hai provato a fare due chiacchiere con l' autore del listato che hai postato?
    MAgari ti sa dare un risposta pi¨ esauriente di quella che potresti trovare qui?

    Anche perchŔ non Ŕ ne Visual Basic ne, tanto meno, VBA. forse C?

    si ho parlato ma mi ha detto che non ci sono storie Ŕ un limite della dll ..
    forse lavorando qua mahh https://fx1.net/excellink.php#excelformatcellcolor
    oppure questo che dicevano in un sito dovrebbe funzionare anche in versione freee.. ma non ci ho capito una mazza per collegarlo alla mt4 http://xlsgate.com/download/
    grazie ancora

  27. #27
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    perfetta questa sub a 4 istanze appena ho il pc con xp sotto mano la provo...... non mi gira nemmeno in window 7 quella per collegare 2 istanze con excel 2003 allora forse non Ŕ problema di compatibilita con window 10 ( il pc che vorrei utilizzare per queste cose per molto piu performante) che sia un problema di qualche abilitazione.. la protezione macro la ho messa al minimo.. qualche libreria'????' o altro?? ..scusami a te gira perfettamente con quale sistema operativo..??? grazie ancora..

  28. #28
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    ferrara
    EtÓ
    41
    Messaggi
    2075
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: collegare 2 istanze excel

    mack99.
    fammi capire perche strippo :D.
    ma il codice che hai postato dov Ŕ scritto. dentro una macro excel?

  29. #29
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    cioe su windows xp funziona tutto puoi modificare anche se attivo il collegamento al foglio origine mentre sta lavorando salvandolo in un latro percorso e lo modifichi sulla sub e funziona senza problemi... su window 7 e window 10 non va ..e non da errore di compilazione o altro, la mandi in esecuzione ma non visualizza i valori nel foglio destinazione...e naturalmente il foglio origine sta ricevendo i dati in real time ho controllato la sintassi e i percorsi...

  30. #30
    L'avatar di mack99
    Clicca e Apri
    Data Registrazione
    May 2016
    LocalitÓ
    verona
    Messaggi
    31
    Versione Office
    2003 -2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: collegare 2 istanze excel

    no Ŕ dentro mt4 si chiama EA ( expert advisors) uno script la mt4 Ŕ prgrammabile ci fai di tutto volendo indicatori ordini e altro ......io mi accontento di molto meno vedo che Ŕ dura lo stesso e non ci vengo a capo,e una volta visualizzata sul navigatore di mt4 se la trascini su un grafico qualsiasi attivo in real time le ti da automaticamente flaggando la dll di importazione.. una istanza excel con i dati perfettamente aggiornati nella riga 1 nelle celle a1:f1 ... ma si puo lanciare solo una istanza alla volta quindi per un'altra devi fare una copia della nuova ea salvarla nel percorso corretto con nome diverso naturalemnte una copia della ddl e inserirla nella libreria giusta e poi aprire mt4 aggnaciarla.. ma questo sono riuscito a farlo funziona perfettamente posso lanciare tutte le istanze excel che voglio senza problemi..selezionando il titolo di borsa a mio piacimento...il problema Ŕ non puoi lavorarci in quella istanza ecco perche .. volevo collegarla ad un' altra e in effetti quella che ho trovato funziona ma solo su xp,ma su windows 7 e windo 10 zero.... ed Ŕ collegata correttamente.. va in esecuizione ma nel file destinazione non da i valori nella riga.....

Discussioni Simili

  1. [Risolto] collegare due tabelle excel su word
    Di Mammut65 nel forum Domande su Excel in generale
    Risposte: 18
    Ultimo Messaggio: 03/03/17, 16:54
  2. Collegare due cartelle excel fra di loro
    Di Kenai nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 11/11/16, 13:34
  3. Collegare foglio excel a data/calendario
    Di Adi_90 nel forum Domande su Excel in generale
    Risposte: 26
    Ultimo Messaggio: 05/06/16, 18:28
  4. MACRO Excel per collegare 300 file PDF??
    Di Bigio nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 29/04/16, 17:33
  5. Collegare fogli excel
    Di Mesinex nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 12/11/15, 15:14

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •