Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB2010 WinForm] Immagini in excel, come inserirle da variabili image? (non da disco)

    buon giorno at all

    ho cercato su google e sul forum ma non ho trovato nulla di nulla se non l'importazione di immagini dal disco in celle di excel tramite VB.NET o c++

    ora io vorrei che le celle di excel si popolano di immagini che io ho già dentro il mio database o array di immagini (quindi non dal disco)... è possibile farlo? qualcuno conosce il comando per excel? oppure qualche escamotage per raggirare excel..?

    per il momento sto usando il comando per immagini da file , ma non va bene in quanto alcune immagini del datatbase da inserire sono in my.resorce .. per questo motivo cerco del codice che inserisca una immagine da una variabile...

    riporto l'istruzione semplicando e tagliando il resto del codice:
    codice:
    With FileExcel ' blocco with della cartella di excel
    
        Dim S As Excel.Worksheet = .ActiveSheet ' S riferimento al foglio excel attivo
        ................
        ..............
        With DirectCast(.Cells(R.Index + 2, Colonna), Excel.Range) ' blocco with per la cella dove aggiungere l'immagine
             
             'QUESTO IL COMANDO PEr aggiungere immagine da disco in cella x
             S.Shapes.AddPicture(PercorsoFileImaggine, Microsoft.Office.Core.MsoTriState.msoFalse, True,
                    .Left + (.Width - .Width / Rapporto) / 2, .Top + (.Height - .Height / Rapporto) / 2, .Width / Rapporto, .Height / Rapporto)
             ' non fate caso al bordello della seconda riga che altro non fà centra l'immagine nella cella  :fagiano: 
       ..................
        End With
        ...........
    end with
    grazie anticipatamente a chi saprà aiutarmi!


    EDIT: NB: ho scritto erroneamente che inserisco immagini dentro celle,ma in relatà non è così (non è corretto).. diciamo che uso le coordinate della cella per posizionare l'immagine inserita che visivamente sembra appartenere a quella cella
    Michele

  2. #2
    sono riuscito tramite un escamotage

    le immagine le copio una ad una nella clipboard dei forms e poi con un paste la incollo nella cella selezionata (precedentemente) di excel...

    ecco la parte di codice :
    codice:
    ...............
    
       ' con questo comando copio l'immagine nella clipboard
       System.Windows.Forms.Clipboard.SetDataObject(Img, False)
    
       With DirectCast(.Cells(R.Index + 2, Colonna), Excel.Range)
    
          .Select()  'selezione la cella interessata
          S.Paste() 'incollo nel foglio di excel l'immagine contenuta nella clipboard
    
          ' mi sono dilettato a recuperare l'ultimo oggetto shapes creato, per centrare l'immagine nella cella  :mame: 
          Dim Sh As Excel.Shape = S.Shapes.Item(S.Shapes.Count)
          Sh.Left = .Left + (.Width - Sh.Width) / 2
          Sh.Top = .Top + (.Height - Sh.Height) / 2
       End With
    
    .................
    naturalmente le immagini sono più d'una e questa parte di codice è inclusa in un ciclo,
    magari può servire...
    Michele

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.