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

    [Excel] Crerare un pulsante inserisci immagine

    Ciao ragazzi devo creare in un foglio excel un pulsante inserisci immagine che, appunto, importi una immagine dall'hard disk e la inserisca in una cella appositamente formattata: che ne dite mi date una mano?

  2. #2
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    ciao!

    inserisci un pulsante VB, clicca su fisualizza codice e inserisci questa macro:

    codice:
    Private Sub CommandButton1_Click()
    
        percorso = "C:\Documents and Settings\MioPercorso\Desktop\Immagine\immagine.gif"
        
        ActiveSheet.Cells(5, 5).Select
        ActiveSheet.Pictures.Insert(percorso).Select
        
    End Sub
    cambia le variabili e imposta alla riga Activesheet.cells(...) le coordinate della cella che ti interessa (riga, colonna)

    ciao
    L.

  3. #3
    Ciao grazie di aver risposto così velocemente: a me interesserebbe che compaia uno sorta di Sfoglia con l'utente che cerca l'immagine desiderata.

    PS - Sono completamente a digiuno di VB vorrei sapere come faccio ad inserire un pulsante?

  4. #4
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    è un po' complesso quello che intendi fare, io te lo scrivo, poi vedi tu...

    1 - devi inserire nella finestra del codice VB una funzione che permette di parire la finestra di scelta file. Per far questo vai in Strumenti - Macro - Visual basic Editor.
    in alto a sinistra c'è l'elenco ad albero dei tuoi fogli aperti
    2 - clicca col destro sul tuo file e scegli "Inserisci" - "Modulo"
    3 - nella finestra del codice incolla questo codice:

    codice:
    Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
    
    Public Type OPENFILENAME
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        lpstrFilter As String
        lpstrCustomFilter As String
        nMaxCustFilter As Long
        nFilterIndex As Long
        lpstrFile As String
        nMaxFile As Long
        lpstrFileTitle As String
        nMaxFileTitle As Long
        lpstrInitialDir As String
        lpstrTitle As String
        flags As Long
        nFileOffset As Integer
        nFileExtension As Integer
        lpstrDefExt As String
        lCustData As Long
        lpfnHook As Long
        lpTemplateName As String
    End Type
    
    Public Function SelectFileOpenDialog()
        Dim strTemp, strTemp1, pathStr As String
        Dim i, n, j As Long
        Dim OpenFile As OPENFILENAME
        Dim lReturn As Long
        Dim sFilter As String
        Dim Fname As String
        
        OpenFile.lStructSize = Len(OpenFile)
        'sFilter = "Text Files (*.txt)" & Chr(0) & "*.TXT" & Chr(0)
        OpenFile.lpstrFilter = sFilter
        OpenFile.nFilterIndex = 1
        OpenFile.lpstrFile = String(257, 0)
        OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
        OpenFile.lpstrFileTitle = OpenFile.lpstrFile
        OpenFile.nMaxFileTitle = OpenFile.nMaxFile
        OpenFile.lpstrInitialDir = "C:\"
        OpenFile.lpstrTitle = "Select File"
        OpenFile.flags = 0
        
        lReturn = GetOpenFileName(OpenFile)
        
        If lReturn = 0 Then
        
        Else
        
            Fname = Trim$(OpenFile.lpstrFileTitle) ' copy the filename to "Fname"
            
            'n = FileLen(OpenFile.lpstrFile) 'length of the file
        End If
        
        SelectFileOpenDialog = Fname
    
    End Function
    4 - inserimento del pulsante:
    chiudi il VBeditor e torna in excel
    scegli visualizza - barre degli strumenti - visual basic
    dalla barra degli strumenti che ti si è aperta scegli il sibolo con martello e cacciavite (Strumenti di controllo)
    clicca su Pulsante di comando dalla barra degli strumenti che ti si è aperta
    disegna il pulsante nel foglio xls
    clicca anche su modalità progettazione (simbolo squadra e matita)
    clicca con il Dx sul pulsante e scegli Visualizza codice

    all'interno della sub che ti si apre in automatico inserisci questo codice
    codice:
     percorso = SelectFileOpenDialog
        ActiveSheet.Cells(5, 5).Select
        ActiveSheet.Pictures.Insert(percorso).Select
    riclicca su modalità progettazione e strumenti di controllo e...

    via!

    mi sono fatto capire? bohhhhhhhh

    ciao
    L.

  5. #5
    Ciao ti ringrazio tantissimo di, in pratica, avermi fatto il pulsante (grazie mille davvero!). Funziona, unico problema quando dalla finestra di search clicco su annulla mi va in eccezione e mi esce la finestra di debug: tu che ne dici?

  6. #6
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    ciao, sostituisci la seconda sub con questo codice che interrompe l'esecuzione se il file è vuoto:

    codice:
    percorso = SelectFileOpenDialog
    if percorso = "" then exit sub
        ActiveSheet.Cells(5, 5).Select
        ActiveSheet.Pictures.Insert(percorso).Select
    prova, dovrebbe funzionare

    ciao
    L.

  7. #7
    Funziona! Grazie mille ancora mi hai salvato!

  8. #8
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    Ottimo!

    ciao
    L.

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.