Condividi:        

Macro per catturare foto di foglio attivo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Macro per catturare foto di foglio attivo

Postdi piter123 » 31/07/08 17:10

Salve è possibile con una macro in excel catturare la schermata del foglio attivo da cui parte la macro e andare a registrarla su hd in formato jpeg o bmp ?
Grazie
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Sponsor
 

Re: Macro per catturare foto di foglio attivo

Postdi Anthony47 » 01/08/08 02:39

Puoi fare una cosa abbastanza simile in questo modo:
-ti crei un file excel vuoto, che salvi "come pagina web" col nome PIPPO.htm, poi lo chiudi
-inserisci in testa alla tua macro questo codice:

Codice: Seleziona tutto
'screen shot
Dim AShp As Shape
Dim ScrSht As String
Dim CWb As String
Dim ShCnt As Integer
'
ScrSht = "A1:M50"    '<<<< area "fotografata", indir. relativo alla cella
'                      in alto a sx della finestra
CWb = ActiveWindow.Caption
'Apre PIPPO.htm
Workbooks.Open Filename:= _
    "C:\Documents and Settings\USER-NAME\Documenti\PIPPO_WEB\Pippo.htm"
'Rimuove AnyShape, se specificato
For Each AShp In ActiveSheet.Shapes
'MsgBox (AShp.Name)
AShp.Delete
Next AShp
'
Windows(CWb).Activate
With Cells(ActiveWindow.ScrollRow, ActiveWindow.ScrollColumn).Range(ScrSht)
    .CopyPicture Appearance:=xlPrinter, Format:=xlPicture
End With
Windows("Pippo.htm").Activate
    Cells(1, 1).Select
    ActiveSheet.Paste
'   Selection.Name = ThisWorkbook.Name & "_" & Format(Now(), "mm-dd--hh-mm")
    ActiveWorkbook.Save
    ActiveWorkbook.Close
'Ritorna
Windows(CWb).Activate
'fine screen shot


Troverai la foto dell' area ScrSht (istruzione marcata <<<; le coordinate effettive saranno relative allo "0" della finestra attiva) nella subdirectory Pippo_file presente nella directory in cui salvi Pippo.

Spero che sia idoneo, anche se magari devi fare qualche adattamento.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per catturare foto di foglio attivo

Postdi piter123 » 01/08/08 13:43

Ciao e mille grazie intanto, ho creato il file web, o copiato il codice su una nuova cartella excel sotto un pulsante. Alla pressione del pulsante mi dà il seguente errore :"errore run-time '1004' errore nel metodo Select per la classe Range"

premo debug e si evidenzia la riga Cells(1, 1).Select

come se non trovasse il foglio .web

Il foglio l'ho salvato sotto la directory d:\prova\pippo.htm e ho modificato la riga "C:\Documents and Settings\USER-NAME\Documenti\PIPPO_WEB\Pippo.htm" in "d:\prova\pippo.htm"

da cosa può dipendere, ciao e ancora grazie
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Re: Macro per catturare foto di foglio attivo

Postdi Anthony47 » 01/08/08 18:37

Ma pippo.htm viene aperto, e' il file attivo in quel momento? Cambia qualcosa eseguendo la macro con Strumenti /Macro /Macro /Esegui? Se in debug skippi l' istruzione, che succede? Hai provato il solo codice dello screenshot, o gli hai anteposto qualcosa?
Se metti un break su Windows("pippo.htm").Activate, poi puoi eseguire passo passo e vedere qualcosa in piu', perche' al momento non mi vengono risposte.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per catturare foto di foglio attivo

Postdi piter123 » 07/08/08 07:39

ciao, intanto grazie, un pò troppe domande (non sono così esperto per riuscire a risponderti a tutte, scusa la mia ignoranza), per risolvere prima potresti (presumo che tu l'avrai anche provato) mandarmi i due file htm e xls da provare sul mio pc.
Mille grazie
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Re: Macro per catturare foto di foglio attivo

Postdi Anthony47 » 07/08/08 09:21

Allego il file .xls, ha un pulsante per lanciare la macro.
Il file pippo.htm e' un file vuoto: da excel crei un nuovo file; Menu /Salva come pagina web; come path e nome gli dai C:\pippo.htm; chiudi il file.

Prova e fai sapere.
Ciao.
Allegati

[L’estensione zip è stata disattivata e non puó essere visualizzata.]

Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per catturare foto di foglio attivo

Postdi piter123 » 07/08/08 15:06

funziona che è una meraviglia, grazie, ora faccio un pò di copia e incolla per portarlo nel mio file.
Ancora mille grazie
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Re: Macro per catturare foto di foglio attivo

Postdi siron277 » 14/03/15 13:13

Ciao Anthony47 ,
ti ringrazio anch'io per la macro, la sto provando per il lavoro.
Ti chiedo se è possibile modificarla in modo che la foto all'interno dell' area ScrSht rimanga sempre con lo stesso nome.
Ho fatto delle prove e vedo che una volta viene salvata in "image001" successivamente "image002.

Grazie

Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38

Re: Macro per catturare foto di foglio attivo

Postdi Anthony47 » 16/03/15 03:00

Usando il file htm la conversione viene fatta da Excel, che nomina i file come vuole.
Potresti valutare l' uso della Sub convertiImm presentata in questa discussione:
viewtopic.php?f=26&t=83835&start=20#p478997

Il nome del file e' stabilito in questa istruzione:
Codice: Seleziona tutto
OutFile="C:\ESITI\ & Nominat & "_ScrSh.jpg"

Devi adattarla per indicare percorso e nome desiderato.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per catturare foto di foglio attivo

Postdi siron277 » 17/03/15 22:32

Grazie Anthony47,
per l'indicazione, ho adattato "Sub convertiImm" al percorso e al nome desiderato e funziona.

Grazie mille

Noris
Win10 + Office 2010 Ita
siron277
Utente Junior
 
Post: 50
Iscritto il: 27/10/13 14:38


Torna a Applicazioni Office Windows


Topic correlati a "Macro per catturare foto di foglio attivo":


Chi c’è in linea

Visitano il forum: Nessuno e 53 ospiti