Insertar imagen en hoja de excel

HMG en Español

Moderator: Rathinagiri

Post Reply
User avatar
edufloriv
Posts: 167
Joined: Thu Nov 08, 2012 3:42 am
DBs Used: DBF, MariaDB
Location: PERU
Has thanked: 8 times
Been thanked: 6 times

Insertar imagen en hoja de excel

Post by edufloriv » Fri Apr 12, 2019 4:22 pm

Buenas tardes a todos,

Necesito insertar una imagen en una hoja de excel, buscando en la red encontré código en VBA pero no encuentro su equivalente, hasta ahora lo tengo asi:
PROC ListaDePreciosXLS

PRIVATE oExcel
PRIVATE oWorkBook
PRIVATE oHoja

oExcel := CreateObject( "Excel.Application" ) // HMG 3
oExcel:Visible := .F.
oExcel:DisplayAlerts := .F.
oWorkBook := oExcel:WorkBooks:Add()

// Seleccion de hoja
nSheets := oExcel:Sheets:Count()
IF nSheets = 0
oExcel:Sheets:Add()
ELSE
oExcel:Sheets(1):Select()
ENDIF
oHoja := oExcel:ActiveSheet
oHoja:Cells:Font:Name := "Arial"
oHoja:Cells:Font:Size := 12
oHoja:Name := "Lista"

oHoja:Range("A1"):Select // <- AQUI ME LANZA ERROR AL COMPILAR : Error E0020 Incomplete statement or unbalanced delitmiters
oHoja:Pictures:Insert("imagen\logo-lista.jpg")
También encontré esto para ajustar la imagen a un tamaño fijo pero no sé como aplicarlo en HMG :
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = 100
.ShapeRange.Width = 100
Agradeceré su ayuda con código ejemplo para manejo de imágenes en excel.


Reciban un cordial saludo de mi parte.


Att.

Eduardo Flores Rivas


LIMA - PERU

User avatar
edufloriv
Posts: 167
Joined: Thu Nov 08, 2012 3:42 am
DBs Used: DBF, MariaDB
Location: PERU
Has thanked: 8 times
Been thanked: 6 times

Post by edufloriv » Fri Apr 12, 2019 5:10 pm

Saludos amigos,

Para informarles que ya conseguí insertar la imagen así:

Code: Select all

PROC ListaDePreciosXLS

PRIVATE oExcel
PRIVATE oWorkBook
PRIVATE oHoja

   oExcel := CreateObject( "Excel.Application" )  // HMG 3
   oExcel:Visible       := .F.
   oExcel:DisplayAlerts := .F.
   oWorkBook := oExcel:WorkBooks:Add()

// Seleccion de hoja
   nSheets := oExcel:Sheets:Count()
   IF nSheets = 0
      oExcel:Sheets:Add()
   ELSE
      oExcel:Sheets(1):Select()
   ENDIF
   oHoja := oExcel:ActiveSheet
   oHoja:Cells:Font:Name := "Arial"
   oHoja:Cells:Font:Size := 12
   oHoja:Name := "Lista"

   oHoja:Rows( 1 ):RowHeight := 60
   PathImagen := SUBSTR(GetCurrentFolder(),1,1)+':\eddocs\hmgcom\motorep\imagen\logo-lista.jpg'
   oHoja:Shapes:AddPicture( PathImagen , .f., .t., 5, 5,  510, 60)

// Se formatea y muestra el excel
   oHoja:PageSetup:LeftMargin     := 5
   oHoja:PageSetup:RightMargin    := 5
   oHoja:PageSetup:TopMargin      := 5
   oHoja:PageSetup:BottomMargin   := 5
   oHoja:PageSetup:Orientation    := 1
   oHoja:PageSetup:PaperSize      := 9  //A4
   oHoja:PageSetup:Zoom           := .F.

   oExcel:Visible       := .T.

RETURN
El truco está en la ubicación de la imagen debe estar completa desde el drive, intente con "imagen\logo-lista.jpg" pero lanza un error informando que no pudo ubicar el archivo.

Espero les sirva, saludos y muchas gracias.


Att.

Eduardo Flores Rivas


LIMA - PERU

User avatar
andyglezl
Posts: 1151
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Has thanked: 35 times
Been thanked: 68 times
Contact:

Post by andyglezl » Fri Apr 12, 2019 5:23 pm

Gracias por el dato...
Andrés González López
Desde Guadalajara, Jalisco. México.

Post Reply