Domanda.

nome=Alessandro
cognome=Elmisi Ilari
versione=2000
conosco2=medio
vba=SI
macro=SI
email=soloalex@libero.it
chri=286
problema=Ciao Ennius, ho creato un programmino che, inserendo il nome in una cella (diciamo A1), e premendo il tasto "timbra"(associato ad una macro), mi copia data ed ora (cella "A2") sul foglio relativo alla persona indicata nella cella "A1".
Volevo sapere se esiste una procedura che inserendo un floppy con i dati della persona (a mò di cartellino) (non so in che formato, se txt o xls), ogni volta che premo il tasto timbra mi vada a leggere il nome sul floppy evitando di inserire manualmente il nome nella cella A1. Tale lettura deve avvenire ogni volta che premo timbra.
Non so se sono stato chiaro, comunque deve funzionare tipo cartellino orario.
complimenti per il sito, è molto utile.
Saluti
Alessandro.
 

Risposta.

ciao Alessandro, per non complicare troppo le cose ti invio questa soluzione che si basa su GetOpenFileName.
Ti ho predisposto il tutto per reperire nome di file .xls.
Quindi salverai su un floppy una cartella anche vuota alla quale assegnerai il nome della persona, esempio.
Elmisi.xls, e ovviamente il nome dovrà essere uguale al nome di un foglio assegnato alla persona stessa.
GetOpenFileName ti apre la finestra "Apri File", dovrai selezionare l'unità floppy, e se il floppy è dentro, vedrai il nome o i nomi dei file .xls. Selezioni il nome che ti interessa e premi apri. In realtà non si apre niente, ma prenderai così il nome del file che verrà scritto nella cella del tuo foglio aperto in quel momento, nella macro ti ho messo la A1. Questa macro la potrai attivare separatamente, oppure inserirla nella tua macro, prima delle istruzioni della copia sul foglio del nome, ovviamente togliendo il nome di questa macro:

Sub Timbra()
nome = Application. _
GetOpenFilename("File Microsoft Excel (*.xls), *.xls")
If nome = False Then Exit Sub
togliunita = Mid(nome, 4)
'si toglie il percorso (A:\)
y = Len(togliunita)
'si misura la lunghezza della stringa
z = y - 4
'si toglie alla stringa la parte finale (.xls)
[A1] = Mid(togliunita, 1, z)
'e si rende in A1 solo il nome senza percorso e senza estensione
End Sub


Non è difficile da capire, provala, e fammi sapere. ciao ennius