von F3K Total » Do, 05.12.2013 18:07
So,
anbei zwei Makros, rufe das erste,
S_Find_cells, auf, dann werden die Bilder in der Größe, die du im Code eingestellt hast eingefügt und sogar benamst (Rechte Maus auf Bild -> Name)
Code: Alles auswählen
Sub S_Find_cells
dim nlength as integer
odoc = Thiscomponent
osheet = odoc.sheets.getbyname("Tabelle1")
oPage = osheet.drawpage
oRange = osheet.getcellrangebyname("A2:A6")'<------ Spalte mit Hyperlinks
for i = 0 to oRange.Rows.count - 1
ocell = oRange.getcellbyposition(0,i)
sUrl = converttourl(ocell.formula)
if sUrl = "" then goto 100
nlength = len(sUrl)
for k = 1 to nlength - 1
if mid(sUrl,nlength-k,1) = "." then
nExtension = nlength - k
endif
if mid(sUrl,nlength - k,1) = "/" then
nBackslash = nlength-k
exit for
endif
next k
sGrafikname = mid(sUrl,nBackslash + 1, nExtension-nBackslash-1)
insertgrafik(opage,ocell,surl,odoc,sgrafikname)
100:
next i
end sub
Sub insertgrafik(opage,ocell,urlgrafik,odoc,grafikname)
Dim Size As New com.sun.star.awt.Size
Dim Size_max As New com.sun.star.awt.Size
oGrafik = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
oGrafik.GraphicURL = urlgrafik
oGrafik.name = grafikname
'Ankerposition festlegen
opage.add(oGrafik)
oGrafik.Anchor = oCell
Size_max.width = 7000'<------ max. Bildbreite
Size_max.height = 5000'<------ max. Bildhöhe
new_Original_Size = oGrafik.Graphic.SizePixel
Factor_Width=Size_max.width/new_Original_Size.width
Factor_Height=Size_max.Height/new_Original_Size.Height
if Factor_Width<=Factor_Height then
factor=Factor_Width
else
factor=Factor_Height
endif
size.width = new_Original_Size.width*factor
size.Height = new_Original_Size.Height*factor
oGrafik.setSize(size)
End Sub
Gruß R
So,
anbei zwei Makros, rufe das erste, [color=#0040FF]S_Find_cells[/color], auf, dann werden die Bilder in der Größe, die du im Code eingestellt hast eingefügt und sogar benamst (Rechte Maus auf Bild -> Name)
[code]Sub S_Find_cells
dim nlength as integer
odoc = Thiscomponent
osheet = odoc.sheets.getbyname("Tabelle1")
oPage = osheet.drawpage
oRange = osheet.getcellrangebyname("A2:A6")'<------ Spalte mit Hyperlinks
for i = 0 to oRange.Rows.count - 1
ocell = oRange.getcellbyposition(0,i)
sUrl = converttourl(ocell.formula)
if sUrl = "" then goto 100
nlength = len(sUrl)
for k = 1 to nlength - 1
if mid(sUrl,nlength-k,1) = "." then
nExtension = nlength - k
endif
if mid(sUrl,nlength - k,1) = "/" then
nBackslash = nlength-k
exit for
endif
next k
sGrafikname = mid(sUrl,nBackslash + 1, nExtension-nBackslash-1)
insertgrafik(opage,ocell,surl,odoc,sgrafikname)
100:
next i
end sub
Sub insertgrafik(opage,ocell,urlgrafik,odoc,grafikname)
Dim Size As New com.sun.star.awt.Size
Dim Size_max As New com.sun.star.awt.Size
oGrafik = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
oGrafik.GraphicURL = urlgrafik
oGrafik.name = grafikname
'Ankerposition festlegen
opage.add(oGrafik)
oGrafik.Anchor = oCell
Size_max.width = 7000'<------ max. Bildbreite
Size_max.height = 5000'<------ max. Bildhöhe
new_Original_Size = oGrafik.Graphic.SizePixel
Factor_Width=Size_max.width/new_Original_Size.width
Factor_Height=Size_max.Height/new_Original_Size.Height
if Factor_Width<=Factor_Height then
factor=Factor_Width
else
factor=Factor_Height
endif
size.width = new_Original_Size.width*factor
size.Height = new_Original_Size.Height*factor
oGrafik.setSize(size)
End Sub[/code]
Gruß R