|
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
|