| | Post: 28 | Registrato il: 01/06/2016
| Città: PISA | Età: 64 | Utente Junior | 2003 | | OFFLINE | |
|
06/03/2020 17:42 | |
Buon pomeriggio a tutti,
vorrei proporre un quesito un po insolito, sicuro di trovare uno "geniaccio" che sappia trovare la soluzione.
Lavoro su un file di una cartella di lavoro condivisa con altri 4 utenti; se voglio sapere chi è attualmente "collegato" alla cartella di lavoro, basta andare sul menù strumenti e cliccare su "Condividi cartella di lavoro..." e si apre la finestra con scritto: "Attualmente la cartella di lavoro è utilizzata da...".
La mia domanda è la seguente: è possibile avere questo elenco (che si aggiorni in tempo reale) predisponendo delle celle direttamente sui fogli del file stesso, senza dover ogni volta consultare il menù strumenti?
Praticamente come una piccola finestra sempre attiva che dia la possibilità di avere sempre sotto controllo la situazione.
Confido in tutti voi e so di stare nel posto giusto!
Grazie infinite.
Elio
P.S. Lavoro con Excel 2003.
[Modificato da elioeco 06/03/2020 17:51] EcoBand |
|
| | Post: 28 | Registrato il: 01/06/2016
| Città: PISA | Età: 64 | Utente Junior | 2003 | | OFFLINE | |
|
10/03/2020 15:35 | |
Sapere chi sta attualmente condividendo il file.... ...non ditemi che non c'è soluzione,,,🙏😓 EcoBand |
| | Post: 2.565 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
10/03/2020 16:09 | |
menu revisione > condividi cartella di lavoro
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 29 | Registrato il: 01/06/2016
| Città: PISA | Età: 64 | Utente Junior | 2003 | | OFFLINE | |
|
11/03/2020 09:18 | |
Ciao e ti ringrazio per aver risposto; ma mi hai segnalato quello che gia sapevo. Io chiedevo se c'è un modo di avere quello schema (utilizzando e formattando adeguatamente le celle) direttamente sul foglio su cui si sta lavorando: una sorta di finestra sempre aperta che aggiorna in tempo reale chi attualmente sta lavorando e su quale foglio. Mi chiedevo se sosse possibile, utilizzando anche VBA....
[Modificato da elioeco 11/03/2020 09:21] EcoBand |
| | Post: 2.568 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
11/03/2020 11:23 | |
ciao
1) Users = ActiveWorkbook.UserStatus
non sono sicuro che li elenchi tutti, guarda in debug cosa contiene la variabile Users nella finestra immediata del vb.
Edit confermo che nell'array Users() vanno a finire tutti gli utenti che al momento utilizzano il file.
NOTA: i tre dati esposti per ciascun utente sono:
User(x,1)=Nome
User(x,2)=data e ora
User(x,3)=Parametro 1(Esclusivo) oppure 2(Condiviso)
2) Set mInfo = Application.Dialogs(xlDialogFileSharing)
assegna alla variabile mInfo i valori della finestra di dialogo (quellaa che apri dal menu di cui al precedente post); ma non so se si possano estrarre i vari dati.
In debug e sempre nella finestra delle variabili locali guarda se tra gli elementei di "Application" o di "Parent" trovi quello che ti serve.
Vedo se trovo qualcosa.....
saluti
[Modificato da dodo47 11/03/2020 13:26] Domenico
Win 10 - Excel 2016 |
|
11/03/2020 12:29 | |
Se Vuoi provare...(spero vada bene col 2003) |
| | Post: 30 | Registrato il: 01/06/2016
| Città: PISA | Età: 64 | Utente Junior | 2003 | | OFFLINE | |
|
11/03/2020 13:52 | |
Ciao Dodo47, adesso va di meglio in peggio 😀😀😀, nel senso che io sono alle primissime armi con il VBA e quello che mi hai scritto, per me, è quasi paragonabile all'arabo (mi hai sopravvalutato... e pure di tanto 😀).
Puoi provare a spiegarmi, passo passo, come devo operare?
(sempre che non ti rubi troppo tempo).
Ti ringrazio infinitamente, comunque vada. EcoBand |
| | Post: 31 | Registrato il: 01/06/2016
| Città: PISA | Età: 64 | Utente Junior | 2003 | | OFFLINE | |
|
11/03/2020 13:57 | |
Grazie per la risposta.
Ci do un'occhiata per vedere come adattarlo al mio foglio (sperando di capirci qualcosa) e ti farò sapere...
Siete straordinari!!!
Grazie di cuore. EcoBand |
| | Post: 2.570 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
12/03/2020 10:08 | |
@elioeco
avventurarsi nella programmazione senza avere una minima base di conoscenza è un rischio elevato in quanto se non capisci non puoi gestire.
Ciò premesso:
sub xxxx()
vUtenti = ActiveWorkbook.UserStatus
For i = 1 To UBound(vUtenti, 1)
Cells(i, 1) = vUtenti(i, 1)
Cells(i, 2) = vUtenti(i, 2)
if vUtenti(i,3)=1 then
Cells(i, 3).Value = "Exclusivo"
else
Cells(i, 3).Value = "Condiviso"
end if
next i
end sub
questo scrive, per ogni utente attivo, quanto detto in colonna A,B,C adatta a quanto ti occorre.
saluti
[Modificato da dodo47 12/03/2020 10:09] Domenico
Win 10 - Excel 2016 |
|
12/03/2020 12:59 | |
Complimenti dodo47
Perfetto anche se non ho files condiviso.
@elioeco
Il mio allegato non và bene, si può vedere solo l'utente che lo apre. Poi bisognava vedere se Msgbox = Environ("Username") funziona in 2003 |
| | Post: 32 | Registrato il: 01/06/2016
| Città: PISA | Età: 64 | Utente Junior | 2003 | | OFFLINE | |
|
16/03/2020 15:50 | |
Grazie per avermi risposto. Con il codice che hai postato sto cercando di adattarlo alle mie esigenze e, avendo fatto delle prove, ho cambiato così:
vUtenti = ActiveWorkbook.UserStatus
For i = 1 To UBound(vUtenti, 1)
Cells(i, 1) = vUtenti(i, 1)
Next i
poichè mi interessa solo il nome di chi è attualmente collegato.
Adesso sto cercando di capire come elencare gli utenti collegati, visualizzandoli partendo dalla cella P10 alla P20.
...poi creerò un pulsante sul foglio "Menù principale" per associarle la macro.
EcoBand |
| | Post: 33 | Registrato il: 01/06/2016
| Città: PISA | Età: 64 | Utente Junior | 2003 | | OFFLINE | |
|
16/03/2020 15:50 | |
Grazie per avermi risposto. Con il codice che hai postato sto cercando di adattarlo alle mie esigenze e, avendo fatto delle prove, ho cambiato così:
vUtenti = ActiveWorkbook.UserStatus
For i = 1 To UBound(vUtenti, 1)
Cells(i, 1) = vUtenti(i, 1)
Next i
poichè mi interessa solo il nome di chi è attualmente collegato.
Adesso sto cercando di capire come elencare gli utenti collegati, visualizzandoli partendo dalla cella P10 alla P20.
...poi creerò un pulsante sul foglio "Menù principale" per associarle alla macro.
[Modificato da elioeco 16/03/2020 15:54] EcoBand |
| | Post: 34 | Registrato il: 01/06/2016
| Città: PISA | Età: 64 | Utente Junior | 2003 | | OFFLINE | |
|
25/03/2020 13:13 | |
Ciao dodo47,
ho impiegato un pò di tempo a rispondere perchè, con tutto questo casino del Covid-19, si è stravolto tutto il tempo per fare le cose quando ci sono priorità più importanti.
Grazie a te, però, sono riuscito a risolvere il mio problema.
Ho modificato il tuo codice (ma non più di tanto) in questo modo:
Sub ControlloUtentiInLinea()
'
' ControlloUtenti Macro
' Macro registrata il 17/03/2020
Sheets("INTRO").Select
Range("P10:P20").ClearContents
vUtenti = ActiveWorkbook.UserStatus
p = 10
For i = 1 To UBound(vUtenti, 1)
Cells(p, 16) = vUtenti(i, 1)
p = p + 1
Next i
End Sub
... e va alla grande!!!
Grazie ancora e grazie anche a ABCDEF@Excel per essersi interessato al problema.
Non immaginate quanto siete preziosi tutti voi di questo forum, che riuscite a risolvere qualsiasi problema proponiamo noi, "miseri mortali", con una pazienza esemplare (a volte mi capita di leggere altri post su questo forum e mi rendo conto di quanta pazienza e semplicità di spiegare le cose siete capaci).
Grazie, grazie, grazie,
per esserci sempre e comunque!
🔝🔝🔝🔝🔝🔝🔝 [Modificato da elioeco 25/03/2020 13:15] EcoBand |
|
|