Newsgroup: it.comp.os.win.software
Titolo: Per esperti di excel

All'avvio del computer, dovrei non solo lanciare un file di excel (e lě
basta mettere il collegamento nel menů di avvio automatico), ma all'apertura
del file dovrebbe partire automaticamente una macro da me impostata.
Non riesco a vedere da nessuna parte come fare, sempre che si possa fare. Se
chiedo all'assistente mi dice come disabilitare le macro automatiche, non
come ABILITARE delle macro che automatiche non sono.
Qualcuno mi sa aiutare? Grazie

Prova a disabilitare la funzione di protezione dalle macro e la macro
dovrebbe partire in automatico.
Se mi puoi far sapere... (anche xchè non sò se ho compreso bene il tuo
problema)

 ha scritto nel messaggio
news:z%yH6.5555$_r2....@news2.tin.it...

in Access per fare questo si usa una macro che si chiama appunto
*autoexec* e ti esegue i comandi della stessa all'apertura del file
access. Come si fa questo in excel non lo so.
Ciao, Lo


Il mio problema è che i miei colleghi di macro e filtri non ne sanno né
vogliono saperne niente, per cui, quando non vado in ufficio
(ferie-malattia), vorrei che accendendo il mio computer si ritrovassero un
foglio di excel con belli pronti alcuni dati, scremati da subito grazie ad
una macro-filtro lanciata in automatico, che filtra i soli dati da seguire
assolutamente in mattinata.
Ci vorrebbe un comando nel collegamento al file, tipo
C:\indirizzo\nomefile.xls /lancia_macro"filtro", sempre che tale opzione
esista...

esista...
Se i tuoi colleghi sono in grado di cliccare su un pulsante con su
scritto 'Clicca qui!' basta che disegni il pulsante e gli associ  la
macro (clicchi col tasto dx sul disegnino e scegli 'Assegna macro'). 
Se i tuoi colleghi non riescono a farlo o ti pare poco elegante avere
un pulsante nel foglio di lavoro dovresti fare cosi':
Menu' Strumenti > Macro > Visual Basic Editor 
Se vedi una pagina grigia senza scritte dal menu' 'Visualizza' scegli
'Gestione progetti'
Fai doppio click su 'ThisWorkbook' (dovrebbe essere dentro a
VBAproject\Microsoft Excel Oggetti)
In alto a sinistra vedrai scritto (generale), cambialo scegliendo
l'oggetto 'Workbook', sulla destra vedrai che ti apparira' la routine
'Open',a indicarti che la macro verra' eseguita all'apertura della
cartella
Ora non ti resta che trascrivere la macro VBA fra 'Private Sub
Workbook_Open()' e 'End Sub'  
Chiudi Visual Basic Editor
Menu' File > Salva ;-)
Lapalissiano
Icq 57269703

 scrisse:

- metti excel in ESECUZIONE AUTOMATICA 
- metti nella dir di excel (normalmente xlstart) il file che ti
interessa
- associ all'evento WORKBOOK.OPEN la macro che ti interessa.
Antonio
(togliere NO SPaM per rispondere)

 Ci vorrebbe un comando nel collegamento al file, tipo
C:\indirizzo\nomefile.xls /lancia_macro"filtro", sempre che tale opzione
esista...
  Non credo esista. Esiste invece in Word (/m, se non sbaglio) ma e`
un'altra storia... Anche esistesse sarebbe pur sempre una "tecnologia"
sorpassata, da un certo punto di vista. Opinabile, ovviamente.
  Ma veniamo ai fatti, che sono ricchi, complessi (piu` che complicati) ed
articolati e facciamo una premessa: Excel e` giunto alla versione 9 (2000) e
Microsoft, come noto, sta preparando la 10 (2002 o XP). A proposito, questo
non vuol dire che ne abbia prodotto dieci versioni perche', correggetemi se
sbaglio, manca all'appello la versione 7:
    Win3x: 1, 2, 3, 4, 5
    Win9x: 6 (95), 8 (97), 9 (2000)
    WinXP: 10 (2002)
  Bene, almeno dalla v. 5, se non anche nelle precedenti, e` sempre esistita
una caratteristica che oggi (xl2k) pare ignorata o poco conosciuta, la
"cartella macro personale" o "PERSONAL.XLS" parzialmente analoga al file
"NORMAL.DOT" di Word. Nelle guide di alcune versioni precedenti ne erano
illustrate caratteristiche e funzioni, in quella della 9 non se ne fa
menzione. Almeno io non sono riuscito a trovarne. Se qualcuno ha
circostanziate indicazioni contrarie e` il benvenuto.
  Anche su MSDN si fatica a trovarne menzione ma una pagina e` fondamentale
al riguardo:
    Microsoft Office 2000/Visual Basic Programmer's Guide
    Understanding the Workbook Object
 
http://msdn.microsoft.com/library/officedev/odeopg/
    deovrunderstandingworkbookobject.htm
(il link su unica riga, ovviamente) dove si dice (traduco):
"Normalmente (_typically_) Excel, per default, possiede una cartella di
lavoro nascosta di nome Personal.xls. La cartella di lavoro Personal.xls e`
creata da Excel come luogo dove conservare le macro. Se la cartella di
lavoro nascosta Personal.xls e` l'unica cartella aperta la proprieta`
ActiveWorkbook restituisce Nothing ma la proprieta` Count della collezione
Workbooks ritorna 1."
  Come ottenere questa utile cartella di lavoro? In due modi, almeno:
    1. creare una nuova cartella di lavoro e salvarla col nome
"PERSONAL.XLS"
    2. registrare una macro qualsiasi (cancellandola in un secondo momento)
mediante il registratore di macro
        Strumenti
        > Macro
          > Registra nuova macro...
      avendo cura di selezionare "Cartella macro personale" alla voce
"Memorizza macro in:".
  Il caso 2. e` sicuramente il migliore perche' rende automatico il
salvataggio nella corretta cartella (directory) di avvio (XLSTART), mentre
nel caso 1. tale indirizzo dovra` essere noto all'atto del salvataggio.
Seguendo la procedura 2. sara` quindi facile individuare mediante un _trova
file_ dove sia stata registrata la cartella di lavoro.
  Perche' e` utile PERSONAL.XLS? Perche' e` il posto giusto dove mettere
informazioni che vogliamo avere sempre disponibili, oltre che per ospitare
macro e funzioni utente "globali", personalizzazioni di barre e menu`, ecc.
  Come abbiamo visto viene registrato nella cartella di avvio di Excel:
<...>\XLSTART. Tutto cio` che e` presente in tale cartella viene aperto
all'avvio, bisogna prestare quindi attenzione a non registrarvi file che non
e` opportuno vengano aperti da Excel.
  Oltre la cartella avvio standard e` possibile avere un'ulteriore cartella
di avvio personale indicandola in:
    Strumenti
    > Opzioni
      Generale
      Posizione file avvio alternativo
  Riassumendo, in base a tutto cio` che abbiamo visto finora, possiamo cosi`
decidere se avviare la nostra automazione di Excel seguendo una delle
modalita` seguenti o una opportuna combinazione di queste:
    1. PERSONAL.XLS (nascosto) presente in XLSTART standard;
    2. qualsiasi file xls (o xla) presente in XLSTART standard;
    3. qualsiasi file xls (o xla) presente nella cartella di avvio
alternativa;
    4. un collegamento del tipo
        <percorso>\excel.exe <percorso>\nomefile.xls
       o direttamente
        <percorso>\nomefile.xls
  A questo punto pero` avremo solo aperto Excel ed uno o piu` file, non
ancora lanciato una macro. Per fare questo abbiamo due possibilita`:
    1. la macro automatica "Auto_open" (Si`, proprio cosi`. No "Auto_apri"
come scrive Microsoft nella guida italiana!!!);
    2. l'evento "Open" dell'oggetto Workbook.
  Le due possibilita` non si equivalgono e, tanto per cominciare,
"Auto_open" verra` eseguita prima dell'evento "Open". Poi la questione
diventa realmente importante in presenza di piu` macro "Auto_open" e/o di
piu` eventi "Open", magari con piu` cartelle di lavoro aperte all'avvio.
  Situazione questa, ovviamente, da tenere sotto controllo e da approfondire
con l'ausilio della guida.
  Ancora, potrebbe non essere consigliabile usare le macro automatiche in
quanto esistono per compatibilita` con le versioni precedenti. Visto che se
ne parla proprio pochino, e male, sia nella guida in linea che su MSDN
potrebbe essere che non vi sia intenzione di supportarle per il futuro, ma
non ho letto dichiarazioni MS in proposito, quindi puo` darsi che questa mia
ipotesi non sia vera.
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------