Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Produrre immagine (gif) del foglio ed inserirla dentro un Form

  1. #1
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Salve sto cercando di riprodurre una immagine gif di una porzione del foglio ed inserirla dentro un form. Il codice non mi da nessun errore per mi visualizza il form vuoto, sapreste dirmi cosa c' di sbagliato? Grazie

    Private Sub ClassArg_A_Initialize()
    Dim mychart As Chart, mywks As Worksheet, myrange As Range
    Set mywks = ActiveSheet
    Set mychart = Charts.Add
    mychart.ChartType = xlColumnClustered
    mychart.SetSourceData Source:=mywks.Range("A65536")
    mychart.Location Where:=xlLocationAsObject, Name:=mywks.Name
    Set myrange = mywks.Range("K1:S24")
    Set mychart = mywks.ChartObjects(1).Chart
    With mywks.ChartObjects(1)
    .Width = myrange.Width
    .Height = myrange.Height
    .Border.LineStyle = xlNone
    End With
    myrange.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
    mychart.Paste
    mychart.Export "ClassArgA.gif"
    mywks.ChartObjects(1).Delete
    UserForm1.Image1.Picture = LoadPicture("ClassArgA.gif")
    End Sub
    
    Devo produrlo per 300 fogli.

  2. #2
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    non inserendo una path specifica sull'export, l'immagine va a finire in documenti, MA su load gli devi dare la path completa.

    "C:\xxx\xxx\Documents\ClassArgA.gif"

    O meglio, esporta in una cartella predeterminata e poi fai il load da tale cartella, es:

    ...
    mychart.Export "C:\MiaCartella\ClassArgA.gif"
    ...
    UserForm1.Image1.Picture = LoadPicture("C:\MiaCartella\ClassArgA.gif")


    saluti

  3. #3
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao Dodo, continua a non funzionare

    Private Sub ClassArg_A_Initialize()
    Dim mychart As Chart, mywks As Worksheet, myrange As Range
    Set mywks = ActiveSheet
    Set mychart = Charts.Add
    mychart.ChartType = xlColumnClustered
    mychart.SetSourceData Source:=mywks.Range("A65536")
    mychart.Location Where:=xlLocationAsObject, Name:=mywks.Name
    Set myrange = mywks.Range("K1:S24")
    Set mychart = mywks.ChartObjects(1).Chart
    With mywks.ChartObjects(1)
    .Width = myrange.Width
    .Height = myrange.Height
    .Border.LineStyle = xlNone
    End With
    myrange.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
    mychart.Paste
    mychart.Export "C:\Program\Class\ClassArgA.gif"
    mywks.ChartObjects(1).Delete
    
    Image1.Picture = LoadPicture("C:\Program\Class\ClassArgA.gif")
    End Sub
    
    In Rosso sono le modifiche da te suggerite

    Tutta via mi sorge un dubbio ed quel codice evidenziato in verde, ActiveSheet che ho provato anche a sostituire con il nome del foglio.

    Anche in questo caso il codice non produce errore ma non salva e non visualizza l'immagine

  4. #4
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    ma chiss che fai!!
    Se "ClassArg_A" il nome assegnato alla tua userform, non ci devi scrivere:Private Sub ClassArg_A_Initialize(), ma:

    vai nella finestra vba
    doppio click a sinistra sulla tua userform
    doppio click a destra sulla userform (che contiene l'oggetto Immage1)
    scegli l'evento Initialize
    Excel scrive:

    Private Sub UserForm_Initialize()

    End Sub


    poi in mezzo ci incolli il codice che funziona perfettamente

    saluti

  5. #5
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Si Dodo funziona,
    ma avrei bisogno di una ulteriore informazione con activeshet viene fotografata l'area range del foglio attivo, ma per spostarlo su un foglio di mia scelta?

    Ho sostituito activeshet con foglio 14 e mywks con foglio 14

    ma quando lancio la macro che dovrebbe aprirmi la forma mi da errore 9. La forma si chiama ClassArg_A e anche sostituendola con UserForm continau darmi errore.
    Grazie per la pazienza

  6. #6
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    non cominciamo a dire un pezzetto per volta!!!


    se l'immagine nel foglio 14, l'unica variazione che devi fare :

    ...
    Set mywks = Worksheets("Foglio14")
    ...

    Errore 9 (out of range)...dove te lo da?
    Che fa 'sta macro??

    Cerca di essere completo nelle tue richieste che nessuno ha la palla di vetro....

    saluti

  7. #7
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao Dodo l'errore me lo da quando da pulsante vado ad aprire la form

    Private Sub CommandButton8_Click()
    ClassArg_A.Show vbModeless
    End Sub
    

  8. #8
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ma esiste 'sto foglio14 ??
    ci fai vedere la macro??

    dopo che ti segnala l'errore clicca su debug...vai avanti con F8 finch non ti rid l'errore e vedi dove si pianta!!

  9. #9
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ho risolto Dodo mi confondo sempre con il nome da mettere, faccio confusione tra Worksheets e Sheets

    Grazie per la pazienza

  10. #10
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da Codice_da_Vinci Visualizza il messaggio
    Ho risolto Dodo mi confondo sempre con il nome da mettere, faccio confusione tra Worksheets e Sheets

    Grazie per la pazienza
    ...che avevi fatto: Worksheets(xxxx).Activate ???

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Foglio dati dentro maschera
    Da RiccardoA nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 24-01-2013, 14:42
  2. [VB2010] Aprire form dentro un form
    Da croc nel forum Visual Basic .Net
    Risposte: 10
    Ultimo Post: 20-05-2012, 16:24
  3. Immagine dentro campo di testo cliccabile
    Da Carmen nel forum HTML, CSS e JavaScript
    Risposte: 2
    Ultimo Post: 28-08-2011, 17:37
  4. aprire un form dentro un altro form
    Da giopas79 nel forum Visual Basic .Net
    Risposte: 13
    Ultimo Post: 14-05-2009, 17:25
  5. VB6 Ruotare immagine dentro un controllo image
    Da qweasdzxc nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 10-11-2006, 16:25