|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
ciao! ho creato un foglio excel con diverse macro, ma ho il problema che quando questo foglio viene aperto da un altro pc in rete, le macro non sono attive e non vengono visualizzate! mi dice che manca la firma digitale e "non sono sicure"!!! sul mio pc risolvo il problema abbassando il livello di protezione da alto a medio (o basso), ma posso avvisare tutti gli utenti di cambiare anche il loro!... cosa devo fare? devo aggiungere la firma digitale? come faccio ad rendere utilizzabili le macro x tutti? grazie ragazzi, chiedo aiuto xche sono bloccato!!
|
|
|
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
In tutti i progetti se l'utente decide di tenere la protezione alta le macro se non certificate vengono disattivate. Nella maggioranza dei casi nella distribuzone del lavoro si aggiunge la postilla "Attivare le macro per eseguire il programma" In fondo ogni utente ha il diritto di preservarsi da possibili codici malefici (prova a pensare quanti danni si potrebbero fare via macro) La scelta della firma digitale potrebbe risolvere ma ne vale la pena?? qui trovi istruzioni per ottenere ed applicare la firma. http://support.microsoft.com/kb/288985saluti Andrea Edited by - a10n11 on 09/06/2005 10:05:19
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
Ok! credo che la scelta migliore sia aggiungere la postilla... vorrei mettere un msgbox all'apertura del file, che comendo devo usare in vb? puoi dirmi la stringa da inserire? grazie
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
non so solo il comando x attivare il msgbox all'apertura del file... x il resto mi arrangio io!! grazie
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
se un utente ha attivato la protezione alta all'apertura del file nessuna macro andrà in esecuzione, nemmeno la macro assegnata all'evento workbook_open. un metodo comune che viene adottato a questo scopo è quello di nascondere tutti i fogli della cartella tranne uno in cui viene scritto che la cartella non è disponibile in caso dimacro disattivate. Se si apre il file con le macro attivate, via codice gli si dice di nascondere il foglio avviso e scoprire tutti gli altri. questa è una delle soluzioni possibili. saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
ok! nel foglio ho acnhe un grafico che si aggiorna con l'immisione dei vari dati, se metto la protezione al foglio, quando attivo la macro va in errore. provo a selezione tutte le opzioni di modifica nel menu della protezione ma non cambia nulla... dove sbaglio? devo modificare qualche proprieta del grafico?
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
che errore ti da lamacro?? probabilmente la macro va ad operare sul foglio protetto ed essendo appunto protetto non gli è consentito operare su esso. Prevedi nella parte iniziale della macro a sproteggere il foglio, fargli fare tutte le operazioni che deve e alla fine fagli riattivare la protezione. saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
esatto!!... adesso provo!!
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote> se un utente ha attivato la protezione alta all'apertura del file nessuna macro andrà in esecuzione, nemmeno la macro assegnata all'evento workbook_open. un metodo comune che viene adottato a questo scopo è quello di nascondere tutti i fogli della cartella tranne uno in cui viene scritto che la cartella non è disponibile in caso dimacro disattivate. Se si apre il file con le macro attivate, via codice gli si dice di nascondere il foglio avviso e scoprire tutti gli altri. questa è una delle soluzioni possibili. saluti Andrea <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
ho inserito il foglio avviso e la macro all'attivazione, l'ho inserita con vba in "this workbook" scegliendo "open"... sul mio pc tutto ok funziona... sugli altri no... perche? "this workbook" ha effetto solo sul mio pc? la macro devo metterla da un'altra parte?
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
la macro va descritta nell'oggetto ThisWorkbook. se hai crato il foglio di avviso (es. Foglio1) la macro all'apertura sarà questa: Private sub Workbook_open() Sheets("foglio1").visible=False end Sub nello stesso modulo descriverai questa macro alla chiusura della cartella: Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets("foglio1").Visible = True Sheets("foglio1").Select End Sub che significa tutto ciò? All'apertura del file se vengono attivate le macro il foglio di avviso viene nascosto. Alla chiusura del file viene riattivato. Nel caso si apra il file senza attivare le macro comparirà il foglio di avviso. spero di essere stato chiaro. saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
adesso tutto ok! consigli ottimi! ora il problema è un altro... ho questi comandi in vba x ordinare le celle secondo 3 chiavi: Range("C5:AS15").Select Selection.Sort Key1:=Range("E5"), Order1:=xlDescending, Key2:=Range("F5") _ , Order2:=xlDescending, Key3:=Range("G5"), Order3:=xlDescending, Header _ :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _ , DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _ xlSortNormal
però ho la necessita di ordinarli x 4 chiavi, nell'interfaccia di excel ci sono solo 3 possibilita x ordinare i dati, qui in vba come faccio ad aggiungerne una quarta? è possibile?
grazie... attendo lumi!
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
l'ordinamentoin excel prevede al massimo tre chiavi di ordinamento. questo è quello che trovi nella guida di excel: <i>Se occorre effettuare l'ordinamento in base a più di tre colonne, ordinare l'elenco in base a quelle meno significative. Se ad esempio l'elenco contiene delle informazioni sugli impiegati che si desidera ordinare per Ufficio, Titolo, Cognome e Nome, sarà necessario ordinare l'elenco due volte. La prima volta, selezionare Nome dalla casella Ordina per e ordinare l'elenco. La seconda volta, selezionare Ufficio dalla casella Ordina per, quindi Titolo dalla prima casella Quindi per e infine Cognome dalla seconda casella Quindi per e ordinare di nuovo l'elenco. </i> stessa limitazione l'ha il comando "Sort" in Vba. Devi per forza di cose eseguire 2 ordinamenti in base all'importanza dei dati in tabella. saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote> l'ordinamentoin excel prevede al massimo tre chiavi di ordinamento. questo è quello che trovi nella guida di excel: <i>Se occorre effettuare l'ordinamento in base a più di tre colonne, ordinare l'elenco in base a quelle meno significative. Se ad esempio l'elenco contiene delle informazioni sugli impiegati che si desidera ordinare per Ufficio, Titolo, Cognome e Nome, sarà necessario ordinare l'elenco due volte. La prima volta, selezionare Nome dalla casella Ordina per e ordinare l'elenco. La seconda volta, selezionare Ufficio dalla casella Ordina per, quindi Titolo dalla prima casella Quindi per e infine Cognome dalla seconda casella Quindi per e ordinare di nuovo l'elenco. </i> stessa limitazione l'ha il comando "Sort" in Vba. Devi per forza di cose eseguire 2 ordinamenti in base all'importanza dei dati in tabella. saluti Andrea <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
ok! allora prima ordino 1 volta x il criterio - importante, poi gli altri 3 criteri dal + importante al - importante!?
Edited by - albyu2 on 09/13/2005 15:13:42
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
esattamente il contrario. saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
allora l'esempio non è chiaro! l'ordine di importanza è (dal + al - importante): 1. ufficio 2. titolo 3. cognome 4. nome
1° ordinamento: delle 3 chiavi disponibili utilizzo solo la prima e scelgo nome (gli altri 2 "Quindi per" li lascio vuoti) 2° ordinamento: uso tutte le 3 chiavi x l'ordinamento: la prima è ufficio, la seconda titolo, la terza cognome
il metodo è questo, forse l'ordina di importanza non è chiaro. è giusto quello sopra o si intende al contrario, cosi: 1. nome 2. cognome 3. titolo 4. ufficio
???
io credo sia giusto il primo metodo: in effetti prima si ordina x la chiave - importante, poi il secondo ordinamento si fa dalla + importante alla (penultima) meno importante! ho provato il mio caso ed è cosi.... cosa vuoi dirmi tu con "esattamente il contrario"?
Edited by - albyu2 on 09/14/2005 10:15:54
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
esattamente come dal tuo esempio. ho letto male il tuo post avevo capito che ordinavi dal più importante al meno importante. è giusto il tuo esempio. saluti Andrea
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote> esattamente come dal tuo esempio. ho letto male il tuo post avevo capito che ordinavi dal più importante al meno importante. è giusto il tuo esempio. saluti Andrea <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
ok! grazie! ora dovrebbe funzionare tutto! adios!
|
|
Rank: Member
Iscritto dal : 2/5/2003 Posts: 0
|
altro consiglio: con vba sto eseguendo una sub che viene richiamata secondo 3 criteri differenti utilizzando 3 variabili. ora devo aggiungere una variabile che corrisponde a un segno di comparazione: - in criterio1 il segno sara ( 'minore' - in criterio2 il segno sara ) 'maggiore' - in criterio3 il segno sara () 'diverso'
********ho problemi di visualizzazione in questo forum, i simboli vengono sostituiti dalle parentesi, cmq tra apici ho scritto il significato del simbolo**********
come dimensiono tale variabiile?
dim segno as integer ?.... non credo?! dim segno as string ?.... neanche?!
cosa dite?
Edited by - albyu2 on 09/22/2005 15:44:06
Edited by - albyu2 on 09/22/2005 15:45:17
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
un operatore non potrà mai essere definita come variabile. non ti bastono gli operatori IF per risolvere il tuo problema? saluti Andrea
|
|
Guest |