![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Manual de programacion Excel
Hola,
¿Donde puedo encontrar un manual o ayuda de programación del Excel? Porque voy completamente a ciegas.....llamo a una hoja desde Delphi con XS := CreateOleObject('Excel.Application') inserto los datos...todo bien pero para formatear columnas colores y esas cosas no se que propiedades y metodos tocar. Un saludo..
__________________
Si tu foto no es buena, es que no estabas lo suficientemente cerca. Robert Cappa (fotografo) |
#2
|
||||
|
||||
Mira a ver si con este código te puedes arreglar:
Código:
// Margen, título y cabecera XlSheet.Cells[1,1].ColumnWidth := 5; // Ancho de la columna A // Ancho de las columnas XlSheet.Cells[1,2].ColumnWidth := 5; XlSheet.Cells[1,3].ColumnWidth := 28; XlSheet.Cells[1,4].ColumnWidth := 8; XlSheet.Cells[1,5].ColumnWidth := 10; XlSheet.Cells[1,6].ColumnWidth := 12; // Rango Range := XlSheet.Range['B2:F2']; // Asignar el rango Range.Font.Name := 'Arial'; Range.Font.Size := 14; Range.Font.Color := clBlue; Range.RowHeight := 21; // Altura de la fila // Range.Columns.AutoFit; // Ajustar las columnas automáticamente // Range.ColumnWidth := 25; // Ancho de las columnas para un rango determinado Range.Columns.Interior.ColorIndex := 19; // 1: Black; 2: White; 3: Red; 4: Lime; // 5: Blue; 6: Yellow; 7: Fuchsia; 8: Cyan // 9: Maroon; 10: Green; 11: Navy; 12: Olive // 13: Purple; 14: Teal; 15: Silver; 16: Gray // .......... bis 56 max. // Ejemplo de pasar los datos a una simple celda XlSheet.Cells[2,3] := 'Example of Microsoft Excel 97 from Delphi 32'; XlSheet.Cells[3,6] := FormatDateTime('mm/dd/yyyy',Now);
__________________
Guía de Estilo de los Foros Cita:
![]() |
#3
|
|||
|
|||
Gracias Marcos, esto es mejor que un manual.
__________________
Si tu foto no es buena, es que no estabas lo suficientemente cerca. Robert Cappa (fotografo) |
#4
|
||||
|
||||
Otra fuente es la ayuda de VB para Excel incluida con Office. Ahí se detalla toda la jerarquía de objetos que se utilizan. En ocasiones hay que traducir un poco ya que lo que enVB se pone con corchetes a veces en Delphi se pone con paréntesis o lo que en VB se deja como parámetros opcionales en Delphi son obligatorios y tiene uno que estar averiguando qué poner en ellos. Pero básicamente da una idea bastante buena de lo que puede hacerse y cómo puede hacerse.
// Saludos |
#5
|
|||
|
|||
Nas.
Se que el hilo es antiguo pero he preferido resucitarlo a abrir otro mas, que al final es un coñazo. La cosa es que tengo un programita hecho para que recoja la informacion de una stringgrid y lo exporte a una excel. Todo ok salvo por un pequeño detalle que no soy capaz de configurar. Quiero que la primera columna tenga el texto a la derecha y el resto de columnas centradas. He hecho una macro y el codigo VB que me da para esas operaciones es: Código:
Columns("A:A").Select With Selection .HorizontalAlignment = xlRight Columns("B:H").Select With Selection .HorizontalAlignment = xlCenter
donde ws := ExcelDoc.ActiveSheet; pero al compilar me da el siguiente error: Código:
[Error] PUnion.pas(383): Undeclared identifier: 'xlRight' Última edición por Rowerto fecha: 31-05-2010 a las 16:23:00. |
#6
|
||||
|
||||
Recuerdo que alguna vez por el Club Delphi recomendaron esta página, me fue de mucha ayuda al programar un reporteador que requería hacerse en excel y con formato de celdas y etc, etc. Ojalá te sirva.
Saludos.
__________________
Herr Heins Faust Última edición por Faust fecha: 31-05-2010 a las 17:18:48. |
#7
|
||||
|
||||
Cita:
Voy más por la última Excel_TLB; En cuanto al manual de macros en Excel que voy a subir no sé si pueda violar derechos de autor al subirlo, deja lo checo y si se puede lo subo al ftp del club. Edito: Acabo de ver que en la página que te pasé hay algunos ejemplos al final de cada sección, checa si están disponibles y si te sirven. Edito de nuez... en mi Delphi 7 enterprise cuando lo instalé elegí la opción de instalar la paleta servers y al añadir los objetos ExcelApplication, ExcelWorkBook y ExcelWorkSheet me añade al uses la unidad ExcelXP, donde viene definido xlRight, pero si es alguna versión anterior y no tienes la paleta servers quizás sea alguna de las anteriores.
__________________
Herr Heins Faust Última edición por Faust fecha: 31-05-2010 a las 18:23:54. |
#8
|
||||
|
||||
Yo a veces uso como pista las propias macros de Excel y Word.
Programas una Macro con lo que quieres hacer y luego en el editor de macros revisas el código generado. Eso te da una idea de métodos y fiunciones existentes que te pueden servir. A partir de ahí busca en la ayuda o en MSDN.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#9
|
||||
|
||||
Eso mismo hago yo.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
![]() |
#10
|
||||
|
||||
Cita:
__________________
Herr Heins Faust |
#11
|
|||
|
|||
Gracias por la rapidez, Faust.
De todas formas en la pagina que me pusiste aparece esto: Código Delphi [-]//To format a range in the 'Text' style, aligned right //Weirdly enough, to give a range a 'text' style you have to set its NumberFormat property to '@': with WS.Range['A1', 'M10'] do begin NumberFormat := '@'; HorizontalAlignment := xlHAlignRight; end; Lo varie para el mio, cambiando lo del formato numero que comentan en los comentarios y poniendo lo de xlHAlignRight, pero el error que me da es exactamente el mismo. Si puedes subirlo aqui te lo agradeceria (yo y seguramente algunos mas), y si no mandalo a mi cuenta de este club. |
![]() |
|
|
![]() |
|