| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Lun 21 Ene, 2008 7:53 pm Asunto: cambiar el tamaño de una imagen de word |
|
|
Se podría cambiar el tamaño de una imagen de word?, Como?
Gracias. |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Dom 03 Feb, 2008 6:30 pm Asunto: |
|
|
En este ejemplo recorremos todas las imágenes del documento y cambiamos su ancho a 5 cm. Usando una instancia de Word abierta:
| Código: | // Añadimos: #include <ComObj.hpp>
inline float MmToPoints(float mm) {return mm * 2.83464567;}
Variant word = GetActiveOleObject("Word.Application");
Variant document = word.OlePropertyGet("ActiveDocument");
Variant inlineShapes = document.OlePropertyGet("InlineShapes");
int numInlineShapes = inlineShapes.OlePropertyGet("Count");
const int wdInlineShapePicture = 3;
for (int i = 1; i <= numInlineShapes; i++)
{
Variant shape = inlineShapes.OleFunction("Item", i);
if (shape.OlePropertyGet("Type") == wdInlineShapePicture)
shape.OlePropertySet("Width", MmToPoints(50));
}
Variant shapes = document.OlePropertyGet("Shapes");
int numShapes = shapes.OlePropertyGet("Count");
const int msoPicture = 13;
for (int i = 1; i <= numShapes; i++)
{
Variant shape = shapes.OleFunction("Item", i);
if (shape.OlePropertyGet("Type") == msoPicture)
shape.OlePropertySet("Width", MmToPoints(50));
} |
|
|
| Volver arriba |
|
 |
MarioMarieti Cmdr

Registrado: 28 Dic 2004Mensajes: 144Ubicación: Murcia (España)
|
Publicado: Lun 04 Feb, 2008 5:50 pm Asunto: |
|
|
Gracias Leo.
Pero me hago una pregunta. Me Imagino que tas constantes de word, por ejemplo "wdInlineShapePicture" las habras declarado en un fichero *.h de la siguiente manera:
define variable valor.
¿LO HACES ASI? |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 04 Feb, 2008 5:59 pm Asunto: |
|
|
| No, normalmente las pongo en el mismo ejemplo un poco más arriba, lo único que hago es poner los nombres que tienen originalmente en la referencia de Microsoft en vez de poner los números, para que quien vaya a usar el ejemplo pueda completar mas fácilmente lo que necesite buscándolas por su nombre original. |
|
| Volver arriba |
|
 |
|