Discussione:
immagini in EXCEL per Publisher
(troppo vecchio per rispondere)
Gian Carlo
2007-01-14 12:17:45 UTC
Permalink
Ciao a tutti,
sto creando un catalogo con Publisher (Menu STRUMENTI -> CATALOGHI E
STAMPA UNIONE)e vorrei utilizzare EXCEL per introdurre i dati.
In EXCEL ho creato una tabella con i vari campi che mi interessa
pubblicare ed ad ogni prodotto ho associato anche un immagine. Come
posso posizionare questa immagine in una casella di excel così che
Publisher la riconosca appartenente a quel prodotto? Se utilizzo il
comando INSERISCI -> IMMAGINE -> DA FILE, inserisco un immagine ma non
posso fissarla alla casella della riga che rappresenta il mio prodotto.

Grazie dell'aiuto


Gian Carlo
Norman Jones
2007-01-14 14:38:40 UTC
Permalink
Ciao Giancarlo,

'--------------
sto creando un catalogo con Publisher (Menu STRUMENTI -> CATALOGHI E
STAMPA UNIONE)e vorrei utilizzare EXCEL per introdurre i dati.
In EXCEL ho creato una tabella con i vari campi che mi interessa
pubblicare ed ad ogni prodotto ho associato anche un immagine. Come
posso posizionare questa immagine in una casella di excel così che
Publisher la riconosca appartenente a quel prodotto? Se utilizzo il
comando INSERISCI -> IMMAGINE -> DA FILE, inserisco un immagine ma non
posso fissarla alla casella della riga che rappresenta il mio prodotto.
'--------------

Si puo' inserire un'immagine in un foglio; non si puo' inserire
un'immagine in una cella. Pertanto, non si puo' fissare
un'immagine ad una cella o ad una riga.

Comunqye, per posizionare e dimensionare le immagine in
corrispondenza alle cella di interesse, prova qualcosa del
genere:

'=============>>
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim MyPic As Immagine
Dim PrimaCella As Range
Dim destRng As Range
Dim Arr As Variant
Dim i As Long

Set WB = Workbooks("Pippo.xls") '<<== da CAMBIARE
Set SH = WB.Sheets("Foglio2") '<<== da CAMBIARE
Set PrimaCella = SH.Range("D1") '<<== da CAMBIARE
Arr = Array("Immagine 1", _
"Immagine 3", "Immagine 10", _
"Immagine 11", "Immagine 12") '<<=== da CAMBIARE

For i = LBound(Arr) To UBound(Arr)
Set MyPic = SH.Immagines(Arr(i))
MyPic.Cut
Set destRng = PrimaCella.Offset(i)
destRng.Select
SH.Paste
With Selection
.Left = destRng.Left
.Top = destRng.Top
.Height = destRng.Height
.Width = destRng.Width
End With
Next i

End Sub
'<<=============

Per utilizzare questa routine:

Alt-F11 per aprire l'Editor di VBA
Menu | Inserisci | Modulo
Incollarci il suddetto codice
Alt-F11 per tornare in Excel
Alt-F8
Seleziona "Tester"
Esegui

Per restituire le immagine che corrsisponde ai prodotti,
potresti utilizzare la proprieta' TopLeftCell.

Ad esempio, se il prodotti fossero elencati nelle celle
A1:A10, potresti provare qualcosa del tipo:

'=============>>
Public Sub Tester2()
Dim WB As Workbook
Dim SH As Worksheet
Dim MyPic As Picture
Dim RngProdotto As Range
Dim RngImmagine As Range
Dim i As Long
Dim j As Long

Set WB = Workbooks("Pippo.xls") '<<== da CAMBIARE
Set SH = WB.Sheets("Foglio2") '<<== da CAMBIARE

For i = 1 To SH.Pictures.Count
Set MyPic = SH.Pictures(i)
Set RngImmagine = MyPic.TopLeftCell
Set RngProdotto = SH.Cells(RngImmagine.Row, "A")
MsgBox "Immagine = " & MyPic.Name _
& vbNewLine _
& "Prodotto = " _
& RngProdotto.Value
Next i

End Sub
'<<=============


---
Regards,
Norman
Norman Jones
2007-01-14 14:51:33 UTC
Permalink
Post by Norman Jones
Per restituire le immagine che corrsisponde ai prodotti,
==>
Per restituire le immagini che corrispondono ai prodotti,



---
Regards,
Norman
Gian Carlo
2007-01-14 21:49:38 UTC
Permalink
Ciao Norman,

ho trovato una soluzione semplice semplice:

invece di introdurre l'immagine nella cella, metto INSERISCI ->
COLLEGAMENTO IPERTESTUALE e faccio un link all'immagine.

Publisher quando importa i dati va a prendere l'immagine che ho
"linkato" :-)

Saluti

Gian Carlo
Post by Norman Jones
Ciao Giancarlo,
'--------------
sto creando un catalogo con Publisher (Menu STRUMENTI -> CATALOGHI E
STAMPA UNIONE)e vorrei utilizzare EXCEL per introdurre i dati.
In EXCEL ho creato una tabella con i vari campi che mi interessa
pubblicare ed ad ogni prodotto ho associato anche un immagine. Come
posso posizionare questa immagine in una casella di excel così che
Publisher la riconosca appartenente a quel prodotto? Se utilizzo il
comando INSERISCI -> IMMAGINE -> DA FILE, inserisco un immagine ma non
posso fissarla alla casella della riga che rappresenta il mio prodotto.
'--------------
Si puo' inserire un'immagine in un foglio; non si puo' inserire
un'immagine in una cella. Pertanto, non si puo' fissare
un'immagine ad una cella o ad una riga.
Comunqye, per posizionare e dimensionare le immagine in
corrispondenza alle cella di interesse, prova qualcosa del
'=============>>
Public Sub Tester()
Dim WB As Workbook
Dim SH As Worksheet
Dim MyPic As Immagine
Dim PrimaCella As Range
Dim destRng As Range
Dim Arr As Variant
Dim i As Long
Set WB = Workbooks("Pippo.xls") '<<== da CAMBIARE
Set SH = WB.Sheets("Foglio2") '<<== da CAMBIARE
Set PrimaCella = SH.Range("D1") '<<== da CAMBIARE
Arr = Array("Immagine 1", _
"Immagine 3", "Immagine 10", _
"Immagine 11", "Immagine 12") '<<=== da CAMBIARE
For i = LBound(Arr) To UBound(Arr)
Set MyPic = SH.Immagines(Arr(i))
MyPic.Cut
Set destRng = PrimaCella.Offset(i)
destRng.Select
SH.Paste
With Selection
.Left = destRng.Left
.Top = destRng.Top
.Height = destRng.Height
.Width = destRng.Width
End With
Next i
End Sub
'<<=============
Alt-F11 per aprire l'Editor di VBA
Menu | Inserisci | Modulo
Incollarci il suddetto codice
Alt-F11 per tornare in Excel
Alt-F8
Seleziona "Tester"
Esegui
Per restituire le immagine che corrsisponde ai prodotti,
potresti utilizzare la proprieta' TopLeftCell.
Ad esempio, se il prodotti fossero elencati nelle celle
'=============>>
Public Sub Tester2()
Dim WB As Workbook
Dim SH As Worksheet
Dim MyPic As Picture
Dim RngProdotto As Range
Dim RngImmagine As Range
Dim i As Long
Dim j As Long
Set WB = Workbooks("Pippo.xls") '<<== da CAMBIARE
Set SH = WB.Sheets("Foglio2") '<<== da CAMBIARE
For i = 1 To SH.Pictures.Count
Set MyPic = SH.Pictures(i)
Set RngImmagine = MyPic.TopLeftCell
Set RngProdotto = SH.Cells(RngImmagine.Row, "A")
MsgBox "Immagine = " & MyPic.Name _
& vbNewLine _
& "Prodotto = " _
& RngProdotto.Value
Next i
End Sub
'<<=============
---
Regards,
Norman
Tiziano Marmiroli
2007-01-14 17:09:54 UTC
Permalink
Post by Gian Carlo
sto creando un catalogo con Publisher (Menu STRUMENTI -> CATALOGHI E
STAMPA UNIONE)e vorrei utilizzare EXCEL per introdurre i dati.
In EXCEL ho creato una tabella con i vari campi che mi interessa
pubblicare ed ad ogni prodotto ho associato anche un immagine. Come
posso posizionare questa immagine in una casella di excel così che
Publisher la riconosca appartenente a quel prodotto?
Da quanto si legge qua

Unione di immagini in una pubblicazione
http://office.microsoft.com/it-it/publisher/HP010385061040.aspx

nell'origine dati occorre indicare il percorso dei file immagine,
anziché inserire le immagini.

Facci sapere se e come hai risolto, grazie.
--
Tiziano Marmiroli
Microsoft MVP - Office System
Gian Carlo
2007-01-16 06:49:45 UTC
Permalink
Effettivamente da come ho scritto anche nel post precedente è così

Grazie
Post by Tiziano Marmiroli
Post by Gian Carlo
sto creando un catalogo con Publisher (Menu STRUMENTI -> CATALOGHI E
STAMPA UNIONE)e vorrei utilizzare EXCEL per introdurre i dati.
In EXCEL ho creato una tabella con i vari campi che mi interessa
pubblicare ed ad ogni prodotto ho associato anche un immagine. Come
posso posizionare questa immagine in una casella di excel così che
Publisher la riconosca appartenente a quel prodotto?
Da quanto si legge qua
Unione di immagini in una pubblicazione
http://office.microsoft.com/it-it/publisher/HP010385061040.aspx
nell'origine dati occorre indicare il percorso dei file immagine,
anziché inserire le immagini.
Facci sapere se e come hai risolto, grazie.
Continua a leggere su narkive:
Loading...