FoxPress,FoxPluss

FoxPress,FoxPluss

domingo, 10 de abril de 2011

Agregar una imagen a Word desde VFP

Artículo de la base de conocimientos de Microsoft de como poder añadir una imagen a un documento Microsoft Word 2003 ó 2007 utilizando Visual FoxPro.
El enlace al artículo original en la Base de Conocimientos de Microsoft es el siguiente:
-- Using Microsoft Visual FoxPro to add images to a Microsoft Word 2003 or 2007 InLineShapes collection --


El siguiente código es el que alli se encuentra publicado, y evita el posible mensaje de error: "OLE Idispatch exception code 0 from Microsoft Word: This is not a valid file name."
PUBLIC oW AS WORD.APPLICATION, ;
  lcBMP AS STRING, liVFPWinState AS INTEGER

*-- Almacena la propiedad _SCREEN.WindowState y minimiza
liVFPWinState = _SCREEN.WINDOWSTATE
_SCREEN.WINDOWSTATE= 1
oW = CREATEOBJECT( 'Word.Application' )

*-- Cambie la ruta del archivo BMP si es necesario
lcBMP = _SAMPLES + '\TASTRADE\BITMAPS\BEVERAGE.BMP'
WITH oW AS WORD.APPLICATION
  .WINDOWSTATE = 1 && wdWindowStateMaximize
  .VISIBLE = 1
  .Documents.ADD
  .APPLICATION.ACTIVATE
  WITH .ActiveDocument.PageSetup AS WORD.PageSetup
    .TopMargin = 12.25
    .BottomMargin = 12.25
    .LeftMargin = 12.25
    .RightMargin = 12.25
  ENDWITH
  .SELECTION.InlineShapes.AddPicture( lcBMP, .F., .T. )
  .SELECTION.EndKey( 6 )
  .SELECTION.MoveLeft( 1, 1, 1 )
  .SELECTION.InlineShapes( 1 ).WIDTH = 190
  .SELECTION.InlineShapes( 1 ).HEIGHT = 210
  .SELECTION.EndKey( 6 )
  .SELECTION.HomeKey( 6 ) && Va al inicio del documento
  =INKEY( 5 ) && Espera 5 segundos
  .QUIT( 0 ) && Sale sin guardar. Parámetro = -1 guarda documento
ENDWITH

*-- Restaura _SCREEN
_SCREEN.WINDOWSTATE = liVFPWinState

No hay comentarios:

Publicar un comentario