DOPPIA COMBOBOX CON IMMAGINI

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Pagine: [1], 2
donatella2016
00lunedì 4 aprile 2016 16:57
SALVE A TUTTI,
NEL FILE IN ALLEGATO, HO UNA IMMAGINE SUL DESKTOP, VORREI POTER METTERE IL PROGRAMMINO FATTO, SU UN CD O CHIAVETTA USB E POTERLO PASSARE AD ALTRI.
COME SPECIFICO IL PERCORSO DELL'IMAGINE?

ADESSO SUL DESKTOP HO:
C:\Users\Utente\Desktop\GIALLO.jpg

SU UN CD O CHIAVETTA COME LO RIPORTO?
federico460
00lunedì 4 aprile 2016 17:14
Buongiorno Donatella
normalmente si mettono le immagini sulla cartella che contiene il file
un'alternativa che vada sempre bene è mettere la cartella con le immagini in C:/"tua cartella"
così è un percorso ottimale per tutti i pc.
chiaro che se la devono scaricare.
Ti consiglio la stessa cartella per il file e le immagini è facile da gestire
donatella2016
00lunedì 4 aprile 2016 17:25
GRAZIE
BUONA SERATA
donatella2016
00lunedì 4 aprile 2016 17:29
SCUSA,
HO PROVATO, MA NON FUNZIONA
FORSE SBAGLIO
NON SO
donatella2016
00lunedì 4 aprile 2016 17:58
QAULCUNO PUO' AIUTARMI?
GRAZIE
dodo47
00lunedì 4 aprile 2016 17:59
Ciao
- Nella col. A del tuo foglio2, devi togliere lo spazio finale alle parole GIALLO e VERDE, altrimenti i file non vengono trovati.

Ciò premesso, metti le immagini nella stessa cartella del tuo programma e varia la Private Sub ComboBox5_Change() nel seguente modo:

Private Sub ComboBox5_Change()
Dim mPath As String
mPath = ActiveWorkbook.Path
Select Case ComboBox5
Case "GIALLO"
Image1.Picture = LoadPicture(mPath & "\GIALLO.jpg")
Case "VERDE"
Image1.Picture = LoadPicture(mPath & "\VERDE.jpg")
Case "ARANCIO"
Image1.Picture = LoadPicture(mPath & "\ARANCIO.jpg")
End Select


Range("d15") = ComboBox5.Text
End Sub


saluti
donatella2016
00lunedì 4 aprile 2016 18:12
GENTILISSIMO
GRAZIE
rollis13
00lunedì 4 aprile 2016 18:23
Questa è la macro (la trovi nel modulo userform2) che devi cambiare/adeguare, come vedi attualmente è indicato il Desktop come fonte.
Però, se utilizzi un CD sempre nello stesso PC questo sicuramente avrà sempre la stessa lettera assegnata ed il percorso sarà sempre uguale; se invece utilizzi una chiavetta la lettera che le viene assegnata è molto "variabile" (basta avere un'altra chiavetta già inserita e le viene dato un'altra lettera) e pertanto diventa difficile gestire la macro ogni volta:
Private Sub ComboBox5_Change()
Select Case ComboBox5
Case "GIALLO"
Image1.Picture = LoadPicture("C:\Users\Utente\Desktop\GIALLO.jpg")
Case "VERDE"
Image1.Picture = LoadPicture("C:\Users\Utente\Desktop\VERDE.jpg")
Case "ARANCIO"
Image1.Picture = LoadPicture("C:\Users\Utente\Desktop\ARANCIO.jpg")
End Select
Range("d15") = ComboBox5.Text
End Sub

Scusa dodo47 per l'accavallamento, avevo fatto un refresh della pagina e non c'erano ancora altri post, era tutto fermo al #4.
Così ora rileggendo vedo che anche il "programmino" finiva in un supporto diverso, non solo le immagini.
donatella2016
00giovedì 7 aprile 2016 12:13
BUONGIORNO A TUTTI,
IN ALLEGATO LA MIA USERFORM CON DIPPIA COMBOBOX E DOPPIA IMMAGINE, VORREI CORTESEMENTE CHIEDERE:
NELLA PRIMA COMBOBOX SCELGO GIALLO, NELLA SECONDA COMBOBOX SCELGO L'ANIMALE, LE IMMAGINI CHE SI CREANO SONO RELATIVE ALLE SCELTE DA ME EFFETTUATE,
MA SE CAMBIO NUVAMENTE LA PRIMA COMBOBOX, COME MAI MI RIMANE VISIBILE LA SECONDA IMMAGINE?
E' POSSIBILE AL CAMBIO DI COMBOBOX CHE LA SECONDA IMMAGINE SPARISCA MA RIAPPAIA ALLA SCELTA EFFETTUATA?
SPERO DI ESSERMI SPIEGATA.
IN ATTESA SALUTI.
donatella2016
00giovedì 7 aprile 2016 12:33
scusate se ho scritto in maiuscolo.
alfrimpa
00giovedì 7 aprile 2016 12:44
Ciao Donatella

Modifica il codice della Sub ComboBox5_Change() come vedi sotto e dimmi se è quel che vuoi

Dim mPath As String
mPath = ActiveWorkbook.Path
Image1.Picture = LoadPicture("")
Image2.Picture = LoadPicture("")
Select Case ComboBox5


P.S. Mi spiace farti nuovamente rilevare che scrivere in maiuscolo equivale sui forum ad urlare.

PP.SS. Hai alcune discussioni alle quali non hai dato più riscontro.
dodo47
00giovedì 7 aprile 2016 12:45
Ciao
all'inizio della Private Sub ComboBox5_Change() inserisci:

Image2.Picture = LoadPicture("")

saluti

EDIT: ooopppss scusa Alf
alfrimpa
00giovedì 7 aprile 2016 12:48
Domenico non c'è nulla di cui scusarsi.

Un caro saluto.
by sal
00giovedì 7 aprile 2016 12:54
Immagini
Ciao Donatella, non scrivere in maiuscolo equivale a gridare nei forum.

stai invadendo il Forum con lo stesso problema, non aprire più discussioni sullo stesso argomento, oltre che dispersivo, chi vorrebbe aiutarti dove dovrebbe rispondere?.cercherò di unirle in modo che siano tutte insieme.

ora rispondi a questa domanda:

vuoi un file con due colonne A-B la prima contiene ad esempio il nome e la seconda il nome del file da aprire, oltretutto che si possa usare su una chiavetta usb.

se è cosi allora basta una sola colonna con il nome, non serve nemmeno l'userform.

vedo di prepararti qualche esempio.

se vedi che l'icona della Chat in basso a dx si colora di rosso vuol dire che qualcuno ti ha mandato un messaggio, è un modo veloce per comunicare, cliccaci sopra e puoi chattare.

ciao By Sal [SM=x423051]

donatella2016
00giovedì 7 aprile 2016 12:57
grazie a entrambi, è proprio ciò che cercavo


questo forum è davvero eccezionale.

buona giornata [SM=x423047]
donatella2016
00giovedì 7 aprile 2016 15:43
quando appare la userform, come faccio a bloccare il foglio Excel sullo sfondo?
alfrimpa
00giovedì 7 aprile 2016 15:49
Re:
donatella2016, 07/04/2016 15.43:

quando appare la userform, come faccio a bloccare il foglio Excel sullo sfondo?



Cosa intendi? Puoi spiegarti meglio?
donatella2016
00giovedì 7 aprile 2016 15:53
nel file che ho precedentemente allegato, si apre in automatico la userform, ma il foglio Excel è modificabile...
[SM=g27833] [SM=g27833] ora che ci penso, se proteggo il foglio questo non deve essere possibile, vero?
alfrimpa
00giovedì 7 aprile 2016 16:03
Se l'esigenza è quella di bloccare il foglio allora questo va protetto (anche se le protezioni di Excel sono sempre relative).

Se invece vuoi impedire lo spostamento della userform sul foglio anche qui il modo c'è; se ti interessa ti posto un file di esempio.

Ma devi essere tu a decidere cosa vuoi fare.
alfrimpa
00giovedì 7 aprile 2016 16:15
Oppure potresti nascondere con modalità "xlSheetVeryHidden" nell'editor di VBA il foglio in questione e poi proteggere con password tutto il progetto VBA.
donatella2016
00giovedì 7 aprile 2016 16:22
vorrei impedire lo spostamento della userform, poi metto la protezione al foglio, e ti chiedo, cortesemente, ho notato che, mentre si egue la userform, se con il tasto sinistro clicco su "chiudi finestra" sulla barra delle applicazioni, mi chiede se voglio salvare, salvare con nome, o annullare, se annullo, la userform si chiude ed il file è modificabile, come posso fare per evitare questo?
alfrimpa
00venerdì 8 aprile 2016 11:17
Ciao Donatella

Per rendere non spostabile la userform potresti adottare una soluzione che vedi nel file allegato.

Non comprendo cosa intendi quando dici:

"e ti chiedo, cortesemente, ho notato che, mentre si egue la userform, se con il tasto sinistro clicco su "chiudi finestra" sulla barra delle applicazioni, mi chiede se voglio salvare, salvare con nome, o annullare, se annullo, la userform si chiude ed il file è modificabile, come posso fare per evitare questo"

Qual è questo "chiudi finestra" sulla barra delle applicazioni?

Puoi allegare un'immagine per capire meglio?
donatella2016
00venerdì 8 aprile 2016 14:39
buon pomeriggio Alfredo,
in allegato immagine
alfrimpa
00venerdì 8 aprile 2016 15:01
Ciao Donatella

Prova con questa macro che va inserita in ThisWorkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub


In questo modo il file viene chiuso ma non salvato; se vuoi salvarlo e chiuderlo la macro è questa:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
ThisWorkbook.Save
ThisWorkbook.Close
Application.DisplayAlerts = True
End Sub


Il file che ti ho allegato prima (quello della userform non spostabile) lo hai visto?

by sal
00venerdì 8 aprile 2016 15:32
Salvataggio
Ciao nel file di Donatella nella userform, ce questa macro:

Private Sub Salva_Click()
Application.ExecuteExcel4Macro ("SAVE.AS?()")
End Sub


io direi di incominciare ad eliminarla.

Ciao By Sal [SM=x423051]


alfrimpa
00venerdì 8 aprile 2016 15:45
Inoltre nel file c'è un modulo di classe che contiene diverse chiamate alle API di Windows che, con tutto il rispetto, dubito che Donatella sappia a cosa servano.

Comunque sarei lieto di essere smentito.
donatella2016
00venerdì 8 aprile 2016 16:36
vi ringrazio per gli aiuti che mi date,
tutte le istruzioni, che apparentemente, come dite voi non servono, o dubitiate che io sappia a cosa servono............ bè, mi spiace deludervi, ma, so quel che faccio,
il file che ho allegato è solo come esempio, quello vero, non posso allegarlo, ben presto sarà un programmino per sviluppare preventivi
con questo spero non vi offendiate e che continuate ad aiutarmi.
alfrimpa
00venerdì 8 aprile 2016 16:46
Perdonami Donatella ma non volevo offendere la tua suscettibilità ci mancherebbe.

E' solo che avendo visto le chiamate alle API di Windows (argomento alquanto complesso e in ambito VBA usato da pochi, forse più in VB classico) mi aveva meravigliato la tua domanda sul non spostamento della userform che appunto fa riferimento ad una chiamata alle API (argomento del quale anch'io conosco pochissimo se non per nulla).

Scusami ancora.
alfrimpa
00venerdì 8 aprile 2016 16:48
Re:
donatella2016, 08/04/2016 16.36:


con questo spero non vi offendiate e che continuate ad aiutarmi.



Per quanto mi riguarda, nei limiti delle mie conoscenze, sicuramente si. [SM=x423063]


donatella2016
00venerdì 8 aprile 2016 16:57
scusa,
non volevo rispondere in modo scortese,
non conosco vb al 100%, ma girovagando su internet su siti sia in italiano che in inglese, sono riuscita a comporre il programma che volevo, adesso sto solo definendo le ultime cose, ecco il motivo delle mie incessanti domande.
[SM=x423023]

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 10:56.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com