salva foglio senza macro

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
john_cash
00venerdì 24 giugno 2011 21:48
Salve a tutti.
Ho un foglio in cui possa scrivere in determinate celle scrivendo in verticale e le celle attive sono colorate.
Il bravo scossa [SM=g27811] mi ha creato le macro.
Ora siccome mi piace sempre aggiungere qualcosa ho trovato qui nel forum una macro per salvare il foglio in una determinata cartella.
Dovrebbe salvare senza macro ma mi trovo nel foglio salvato queste due macro.

Option Explicit

Private Sub CommandButton1_Click()
Call SetupVar
Application.OnKey "{TAB}", "KeyTab"

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
ActiveSheet.Range("A2:F39").Calculate
End Sub

Per provare il file bisogna creare questa cartella nel desktop:

sPath = "C:\WINDOWS\Desktop\controllati" 'casa

è possibile correggere?
La macro del salva foglio l'ho trovata qui:
salva foglio
Inserisco il file di esempio.
Ciao,
john
scossa
00domenica 26 giugno 2011 12:26
Re:
john_cash, 24/06/2011 21.48:

Salve a tutti.
Ho un foglio in cui possa scrivere in determinate celle scrivendo in verticale e le celle attive sono colorate.
Il bravo scossa [SM=g27811] mi ha creato le macro.
Ora siccome mi piace sempre aggiungere qualcosa ho trovato qui nel forum una macro per salvare il foglio in una determinata cartella.
Dovrebbe salvare senza macro ma mi trovo nel foglio salvato queste due macro.



Allego direttamente il file perchè ho modificato sia il codice della routine di salvataggio che quello relativo alle routine di attivazione /disattivazione del tasto TAB (altrimenti quando passi alla copia salvata il tab non funzionava).



john_cash
00domenica 26 giugno 2011 13:04
Grazie scossa [SM=g27811]
Il file funziona, non mi trovo più le 2 macro ne foglio salvato.
Una cosa, prima il file salvato era uguale come "forma", cioè come interruzione di pagina identico all'originale. Ora me lo ritrovo diviso in 2 pagine, l'originale è invece in una pagina.
Si può rimediare?
Ciao,
john
scossa
00domenica 26 giugno 2011 16:29
Re:
john_cash, 26/06/2011 13.04:

Grazie scossa [SM=g27811]
Il file funziona, non mi trovo più le 2 macro ne foglio salvato.
Una cosa, prima il file salvato era uguale come "forma", cioè come interruzione di pagina identico all'originale. Ora me lo ritrovo diviso in 2 pagine, l'originale è invece in una pagina.
Si può rimediare?
Ciao,
john



Sì, bisogna copiare le varie impostazioni del formato pagina.
La procedura è lenta per cui ho aggiunto una userform di avviso dell'esecuzione in corso ...


john_cash
00domenica 26 giugno 2011 17:42
[SM=x423028]
Grazie scossa!!!!
Ciao, [SM=x423053]
john
john_cash
00martedì 28 giugno 2011 21:39
Ciao ho trovato qui nel forum una discussione per disabilitare un comando dalla barra degli strumenti. Girando in rete ho trovato qualcosa di simile e l'ho adatto per disabilitare invia a (posta).
Le macro sono queste:

Private Sub Workbook_Open()
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = True
End Sub

Le ho provate in un nuovo file e funzionano.
Le ho inserite nel file di scossa che mi ha fatto ma mi dà:

errore di compilazione:
rilevato nome non univoco: Workbook_open

probabilmente perchè ce nè più di una.
Si può correggere?
john
john_cash
00martedì 28 giugno 2011 22:26
Le due macro Private Sub Workbook_Open()

Private Sub Workbook_Open()
Call SetupVar
Application.OnKey "{TAB}", "KeyTab"
End Sub

Private Sub Workbook_Open()
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = False
End Sub

le ho unite così:

Private Sub Workbook_Open()
Call SetupVar
Application.OnKey "{TAB}", "KeyTab"
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = False
End Sub

è esatto?
Ciao,
john
scossa
00martedì 28 giugno 2011 22:28
Re:
john_cash, 28/06/2011 22.26:


le ho unite così:

Private Sub Workbook_Open()
Call SetupVar
Application.OnKey "{TAB}", "KeyTab"
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = False
End Sub

è esatto?



Direi di sì.


john_cash
00martedì 28 giugno 2011 22:30
Grazie scossa [SM=x423028]
ciao,
john
john_cash
00martedì 28 giugno 2011 22:49
Mmmmmhhh [SM=g27826]
Mi sono accorto di un piccolo errore.
Le due ultime macro disabilitano il comando "invia a" nel file originale e fin qui tutto bene, però poi non me lo ritrovo più nel foglio salvato.
Ho provato a chiudere e poi aprire il file salvato ma il comando non c'è.
E' possibile che le due ultime macro lo facciano solo nel file originale, per poi ritrovarlo nel foglio salvato?
Naturalmente il foglio salvato deve essere vuoto da qualsiasi altra macro, per poi essere inviato per posta. Il file originale deve essere disabilitato dall'invio per posta.
Grazie,
john
scossa
00mercoledì 29 giugno 2011 11:14
Re:
john_cash, 28/06/2011 22.49:

Mmmmmhhh [SM=g27826]
Mi sono accorto di un piccolo errore.
Le due ultime macro disabilitano il comando "invia a" nel file originale e fin qui tutto bene, però poi non me lo ritrovo più nel foglio salvato.
Ho provato a chiudere e poi aprire il file salvato ma il comando non c'è.
E' possibile che le due ultime macro lo facciano solo nel file originale, per poi ritrovarlo nel foglio salvato?
Naturalmente il foglio salvato deve essere vuoto da qualsiasi altra macro, per poi essere inviato per posta. Il file originale deve essere disabilitato dall'invio per posta.




Il codice
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = False 

agise a livello di Application (excel) non di workbook o di worksheet.

Quindi devi chiudere il file "generatore", che alla chiusura (evento _BeforeClose) DEVE ESEGUIRE
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = True 
e vedrai che il menu riappare completo.
john_cash
00mercoledì 29 giugno 2011 17:59
Ciao scossa.
Non ho capito bene.
Le macro ora sono così in thisworkbook:


Private Sub Workbook_Open()
Call SetupVar
Application.OnKey "{TAB}", "KeyTab"
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = True
End Sub


ma non mi trovo nel foglio salvato l'invia a.
Ciao,
john
scossa
00mercoledì 29 giugno 2011 18:58
Re:
john_cash, 29/06/2011 17.59:

Ciao scossa.
ma non mi trovo nel foglio salvato l'invia a.



Ma tu lo chiudi il file da cui hai salvato il foglio?


john_cash
00mercoledì 29 giugno 2011 19:20
Allora spiego come faccio.
Clicco nel file originale il pulsante "salva foglio", mi compare il foglio salvato e da qui poi lo invio.
Prima non mi compariva, in questo nuovo foglio, prima di chiudere il tutto nel menù file il comando invia a.
Allora ho provato così.
Ho inserito nella macro del salva foglio alla fine:

"""
"""
"""
"""
With Application
.ScreenUpdating = True
.DisplayAlerts = True
.SheetsInNewWorkbook = nFogliNew
.EnableEvents = True
End With
Application.CommandBars("Worksheet menu bar").Controls("File").Controls("Invia a").Enabled = True '<<<< l'ho messo qui
End Sub

ora prima di chiudere il tutto me lo ritrovo.
Le due macro di prima, naturalmente le ho lasciate.
Ho fatto bene così?.
Ciao,
john
scossa
00mercoledì 29 giugno 2011 21:05
Re:
john_cash, 29/06/2011 19.20:

Allora spiego come faccio.
Clicco nel file originale il pulsante "salva foglio", mi compare il foglio salvato e da qui poi lo invio.

CUT

ora prima di chiudere il tutto me lo ritrovo.
Le due macro di prima, naturalmente le ho lasciate.
Ho fatto bene così?.



Sinceramente non ho capito perchè disabiliti il menu invia per poi riabilitarlo, comunque se ti va bene così :-)


john_cash
00mercoledì 29 giugno 2011 21:24
Perchè questo semplice lavoretto (non per me) l'ho fatto per un collega d'ufficio per inserire dati per un'altro collega, quest'ultimo con questi dati prepara il gantt settimanale (per chi lo conosce). In poche parole voglio che quando questo gli manda il foglio sia libero da macro. Se lo facesse direttamente con il foglio originale potrebbe mandagli tutto comprese le macro, ed è questo che non voglio.
Comunque grazie ancora dell'aiuto scossa.
Ciao,
john
scossa
00mercoledì 29 giugno 2011 21:37
Re:
john_cash, 29/06/2011 21.24:

In poche parole voglio che quando questo gli manda il foglio sia libero da macro. Se lo facesse direttamente con il foglio originale potrebbe mandagli tutto comprese le macro, ed è questo che non voglio.
Comunque grazie ancora dell'aiuto scossa.
Ciao,
john



Questo lo avevo capito, ma la voce del menu "invia" non c'azzecca nulla :-) percheé riguarda Excel non il singolo file.
john_cash
00venerdì 1 luglio 2011 19:47
Ho capito cosa intendi.
Se apro 2 file excel, uno con le macro che blocca l'invio posta e un'altro senza non mi funziona su tutti e due.
Si può fare che funzioni solo su quella che ha le macro?
Ciao,
john
scossa
00venerdì 1 luglio 2011 23:37
Re:
john_cash, 01/07/2011 19.47:

Ho capito cosa intendi.
Se apro 2 file excel, uno con le macro che blocca l'invio posta e un'altro senza non mi funziona su tutti e due.
Si può fare che funzioni solo su quella che ha le macro?
Ciao,
john



No, a meno che tu non apri i due file in due istanze di excel separate (con tutte le implicazioni della cosa).
john_cash
00sabato 2 luglio 2011 10:10


No, a meno che tu non apri i due file in due istanze di excel separate (con tutte le implicazioni della cosa).



Qui intendi così?:

1) apro il file con le macro
2) apro un file nuovo e da qui con apri, apro un file esistente

così vedo che le macro finzionano solo nel primo file.
ciao,
john
scossa
00sabato 2 luglio 2011 11:43
Re:
john_cash, 02/07/2011 10.10:



No, a meno che tu non apri i due file in due istanze di excel separate (con tutte le implicazioni della cosa).



Qui intendi così?:

1) apro il file con le macro
2) apro un file nuovo e da qui con apri, apro un file esistente

così vedo che le macro finzionano solo nel primo file.



Intendo:

1) lanci Excel (facendo click sull'icona del programma - prima istanza) e poi ci apri il file che disabilita il menu e che generea la copia (e una volta generata, detta copia la chiudi);

2) lanci un altro Excel (facendo click sull'icona del programma - seconda istanza) e qui ci apri il file generato.

Ribadisco che NON capisco tutto 'sto ambaradan.
giovanni.matteotti
00sabato 29 aprile 2017 20:01
Re: Re:
[POSTQUOTE][QUOTE:111893590=Scossa.vr, 26/06/2011 16.29]

Sì, bisogna copiare le varie impostazioni del formato pagina.
La procedura è lenta per cui ho aggiunto una userform di avviso dell'esecuzione in corso ...


[/QUOTE][/POSTQUOTE]


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