Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-09-2005
Avatar de jzk
jzk jzk is offline
Miembro
 
Registrado: may 2004
Posts: 100
Poder: 20
jzk Va por buen camino
Modificar margenes en Word

Hola a tod@s,

Estoy intentando poder bajar los márgenes de un documento Word pero no encuentro la manera. Rebuscando, rebuscando, he encontrado lo siguiente:

Código:
	WinWord.Selection.PageSetup.TopMargin
pero me da el siguiente error :

Cita:
exception EOleException with message "TopMargin" no es ningún método
Hasta ahora siempre me había valido de las macros de Word para ver como ejecutar ciertos comando en Delphi, pero esta vez no encuentro la solución.

¿Sabeís como hacerlo?, gracias.
__________________
Experiencia es el nombre que damos a nuestras equivocaciones
Responder Con Cita
  #2  
Antiguo 06-09-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Creo que en lugar de Selection debe ser Section. A mi me ha funcionado con

Document.TopMargin

ó

Document.Sections.TopMargin

Y si deseas aplicarlo a una sección específica sería

Document.Sections.Item(NumSeccion).TopMargin

Aquí Document es un OleVariant que apunta al documento:

Código Delphi [-]
uses
  ComObj;

var
  WordApp: OleVariant;
  Document: OleVariant;

begin
  WordApp := CreateOleObject('word.application.9');
  Document := WordApp.Documents.Open('archivo.doc');
end;

// Saludos
Responder Con Cita
  #3  
Antiguo 07-09-2005
Avatar de jzk
jzk jzk is offline
Miembro
 
Registrado: may 2004
Posts: 100
Poder: 20
jzk Va por buen camino
Lo primero darte las gracias por el tiempo empleado.
He seguido todos los pasos que me indicas pero lo único que obtengo es otro tipo de error:

Cita:
Exception EOleError with message 'Method' Topmargin' not supported by automation object'
Hasta ahora la única manera que he encontrado ha sido utilizando un objeto de la paleta Servers TWordApplication, pero claro esto me limita a que luego pueda utilizar comandos como :

WordAppl.WordBasic.EditBookmark
WordAppl.WordBasic.Insert

En fin, que por lo pronto en lugar de subir o bajar márgenes voy a conformarme con añadir o quitar renglones que no es tan eficaz como lo que realmente necesito pero me sirve de parche temporal.
__________________
Experiencia es el nombre que damos a nuestras equivocaciones
Responder Con Cita
  #4  
Antiguo 15-09-2005
TONIAM TONIAM is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 38
Poder: 0
TONIAM Va por buen camino
En el programa que te comente que estoy haciendo en un informe bajo los margenes asi:

oWord.ActiveDocument.PageSetup.TopMargin := CentimetersToPoints(5);

oWord es un TWordAplication y la funcion es esta

function TFormPRL.CentimetersToPoints(a:Single):Single;
begin

{Converts a measurement from centimeters to points (1 cm = 28.35 points).
Returns the converted measurement as a Single.
Syntax
expression.CentimetersToPoints(Centimeters)
expression Optional. An expression that returns an Application object.
Centimeters Required Single. The centimeter value to be converted to points.}

Result:=28.35*a;

end;

Un saludo
Toni
Responder Con Cita
  #5  
Antiguo 15-09-2005
Avatar de jzk
jzk jzk is offline
Miembro
 
Registrado: may 2004
Posts: 100
Poder: 20
jzk Va por buen camino
Gracias por el tiempo dedicado, pero a la solución que me planteablas de
Cita:
oWord es un TWordAplication
ya la había probado. De hecho lo comento en el correo anterior:

Cita:
Hasta ahora la única manera que he encontrado ha sido utilizando un objeto de la paleta Servers TWordApplication, pero claro esto me limita a que luego pueda utilizar comandos como :

WordAppl.WordBasic.EditBookmark
WordAppl.WordBasic.Insert
Por lo que no puedo hace uso de ella.

Un saludo.
__________________
Experiencia es el nombre que damos a nuestras equivocaciones
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:36:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi