Condividi:        

Centrare Immagini

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

Centrare Immagini

Postdi trittico69 » 06/12/24 12:54

Devo centrare un immagine in una tabella ma quest'ultima viene adattata al contenuto scritto, che varia, quindi non riesco a centrare l'immagine alla tabella, c'è una soluzione?

Edit: ho separato la domanda dal thread viewtopic.php?f=26&t=99768 perchè non pertinente
Anthony

trittico69
Utente Senior
 
Post: 546
Iscritto il: 16/08/09 18:41

Sponsor
 

Centrare Immagini

Postdi Anthony47 » 07/12/24 00:58

L'adattamento della "tabella" viene fatto con del codice vba (puoi pubblicarlo?) o come?
Avatar utente
Anthony47
Moderatore
 
Post: 19523
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Centrare Immagini

Postdi trittico69 » 07/12/24 09:01

Codice: Seleziona tutto
Sub CenterPictures()
With ActiveSheet.Shapes("IMMAGINE 3")
.Top = Range("A1").Top + (Range("A1").Height - .Height) / 2
.Left = Range("A1").Left + (Range("A1").Width - .Width) / 2

End With
End Sub
trittico69
Utente Senior
 
Post: 546
Iscritto il: 16/08/09 18:41

Re: Centrare Immagini

Postdi trittico69 » 07/12/24 09:44

la riga "A" puo essere sia con celle unite che non. Il problema nasce quando adatti le colonne, allo scritto, sotto ; l'immagine va centrata manualmente ogni volta che cambia la lunghezza dello scritto
trittico69
Utente Senior
 
Post: 546
Iscritto il: 16/08/09 18:41

Re: Centrare Immagini

Postdi Anthony47 » 07/12/24 16:52

Ah, quindi e’una operazione manuale, e purtroppo sul ridimensionamento di righe o colonne non scatta nessun evento...
Un primo aggiustamento potrebbe venir fatto se in “Formato Immagine” e’ stata scelta la proprietà “Sposta e ridimensiona con le celle”, o almeno “Sposta ma non ridimensionare con le celle”.

Si potrebbe fare una macro che riposizione le immagini del foglio al centro della loro cella originale, se il nome dell’immagine e’ all’origine stata associata alla cella in cui deve trovarsi; altrimenti il rischio di posizionare un’Immagine “ben al centro della cella sbagliata” e’ molto alto (e il perfetto posizionamento potrebbe rendere l’errore difficile da rilevare).
Stiamo parlando di un numero limitato di Immagini? Sono fisse o cambiano con l’uso del foglio? Sono gestite sempre dalla stessa persona o l’utente cambia? Queste informazioni possono aiutare a capire se c’è un approccio abbastanza affidabile da utilizzare
Avatar utente
Anthony47
Moderatore
 
Post: 19523
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Centrare Immagini

Postdi trittico69 » 08/12/24 14:30

l'immagine è una, l'utente cambia, cambiano con l'uso del foglio
trittico69
Utente Senior
 
Post: 546
Iscritto il: 16/08/09 18:41

Re: Centrare Immagini

Postdi Anthony47 » 09/12/24 22:37

Quello che ti suggerisco di fare e usare una macro per inserire l’immagine e nominarla in modo congruo con la cella in cui l’immagine viene posizionata.
Poi una seconda macro puo’ facilmente sistemare l’immagine qualora sia necessario.

Il codice complessivo, da inserire in un modulo standard del tuo progetto vba:
Codice: Seleziona tutto
Sub InserisciImg()
Dim cPic As Shape, FullNome As String
Dim cAdr As String
'
'Chiedi il file da gestire:
With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    .Filters.Clear
    .Filters.Add "Pictures", "*.jpg; *.png", 1  'Filtro per estensione
    .Show
    If .SelectedItems.Count = 0 Then
         MsgBox ("Nessuna voce selezionata, procedura annullata")
         Exit Sub
    End If
    FullNome = .SelectedItems(1)                'Directory e Nome del file selezionato
End With
'
'Inserisci Immagine:
cAdr = ActiveCell.Address(0, 0)
Set cPic = ActiveSheet.Shapes.AddPicture(FullNome, False, True, ActiveCell.Left, ActiveCell.Top, True, True)
cPic.Name = "Immagine_" & cAdr
'
'Posizionala:
With cPic
    .Left = Range(cAdr).MergeArea.Left + Range(cAdr).MergeArea.Width / 2 - .Width / 2
    .Top = Range(cAdr).MergeArea.Top + Range(cAdr).MergeArea.Height / 2 - .Height / 2
    .OnAction = "Centra"
End With
End Sub


Codice: Seleziona tutto
Sub Centra()
Dim ShN As String, cAdr As String, zzz As Object
'
ShN = Parent.Caller
cAdr = Split(ShN, "_", , vbTextCompare)(1)
'
With ActiveSheet.Shapes(ShN)
    .Left = Range(cAdr).MergeArea.Left + Range(cAdr).MergeArea.Width / 2 - .Width / 2
    .Top = Range(cAdr).MergeArea.Top + Range(cAdr).MergeArea.Height / 2 - .Height / 2
End With
End Sub

La Sub InserisciImg aiuta l’utente a scegliere l’immagine e la inserisce centrandola con la “cella attiva”. Il codice non tocca la dimensione dell’immagine, che rimane della dimensione originale; ma puo’ essere completato con la gestione della dimensione. Inoltre assegna all’immagine il nome “Immagine_XY”, dove XY e’ la coordinata della cella ospitante, e associa all’immagine la macro Sub Centra (la seconda nel suddetto codice)
Qualora l’immagine non risulti piu’ centrata con la sua “cella madre”, cliccando sull’immagine essa verrà ricentrata.

E’ chiaro che se l’utente non e’ istruito a usare questa procedura e inserisce le immagini “a modo suo” allora si torna nella situazione attuale poco gestibile.

Vedi intanto se riesci ad adattare al tuo caso e ai tuoi disciplinati utenti...
Avatar utente
Anthony47
Moderatore
 
Post: 19523
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Centrare Immagini

Postdi trittico69 » 10/12/24 14:15

credo che non ci sia soluzione a questo, ho provato ma non centra bene
trittico69
Utente Senior
 
Post: 546
Iscritto il: 16/08/09 18:41

Re: Centrare Immagini

Postdi trittico69 » 10/12/24 15:26

se si potesse fare una macro, che centra l'immagine in base alla cella unita sotto di essa che contiene scritto, la quale centra automaticamente lo scritto spostando le colonne
trittico69
Utente Senior
 
Post: 546
Iscritto il: 16/08/09 18:41

Re: Centrare Immagini

Postdi Anthony47 » 10/12/24 15:31

[...] la quale centra automaticamente lo scritto spostando le colonne

Questo viene fatto via macro?
Avatar utente
Anthony47
Moderatore
 
Post: 19523
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Centrare Immagini

Postdi trittico69 » 10/12/24 18:18

tutto viene spostato manualmente
trittico69
Utente Senior
 
Post: 546
Iscritto il: 16/08/09 18:41

Re: Centrare Immagini

Postdi Anthony47 » 10/12/24 23:22

credo che non ci sia soluzione a questo, ho provato ma non centra bene
Puoi pubblicare almeno una Immagine di come viene posizionata l’immagine quando ci si clicca sopra? Si deve vedere anche l’area su cui dovrebbe essere centrata
Per le istruzioni su come allegare una immagine:
http://www.pc-facile.com/forum/viewtopi ... 88#p605488
Avatar utente
Anthony47
Moderatore
 
Post: 19523
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Centrare Immagini":


Chi c’è in linea

Visitano il forum: Nessuno e 36 ospiti