Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
hoja de excel orlando PowerCOBOL (ActiveX, v4 - v11) 1 25 de noviembre de 2019 08:14
[Sintaxis] Actualizar campo en una hoja de Excel orlando PowerCOBOL (ActiveX, v4 - v11) 1 17 de noviembre de 2019 21:57
[Sintaxis] Imprimir hoja de excel orlando PowerCOBOL (ActiveX, v4 - v11) 1 3 de noviembre de 2018 19:36
[Sintaxis] Ocultar/mostrar una hoja en Excel Hrmcobol PowerCOBOL (ActiveX, v4 - v11) 2 8 de abril de 2018 22:05
[Sintaxis] Color de una columna de un Gráfico en Excel Hrmcobol PowerCOBOL y COM/OLE 2 2 de agosto de 2016 18:36

Respuesta
 
Herramientas

  #1
Antiguo 1 de marzo de 2016, 18:18
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492
Excel Número de lineas y columnas de una hoja Excel
0 Inactivo Inactivo

¿Alguien sabe cómo puedo saber el número de filas y columnas que hay en una hoja de cálculo?, estoy usando el componente "ExcelConection" para importar unos datos, pero no sé cual es el último dato que hay.

Gracias

Un saludo.-
Josber is offline   Responder Con Cita
  #2
Antiguo 1 de marzo de 2016, 20:29
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, has intentado preguntando por SPACES o LOW-VALUES de una celda que sabes que en dicha fila (por ejemplo la 1) siempre debe estar informada?



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 1 de marzo de 2016, 22:44
Fito
Guardián del Foro
Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por el Avatar Activista del Foro: Activista del Foro - Issue reason: Por aportar ideas 
Última Actividad 19.09.2026 13:19
Posts Posts: 458
Likes enviados Enviados: 267
Likes recibidos Recibidos: 243

Hola:

Adhiero a lo que dice KUK. no veo otra forma.

Si buscás cómo hacer una macro desde excel para ir al ultimo dato, en todos lados vi usan un par de funciones para ir a la última fila posible (fila 1048576) y después otra para ir hacia atrás y encontrar el primer dato.

Saludos. Fito...
Fito is offline   Responder Con Cita
  #4
Antiguo 2 de marzo de 2016, 07:57
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Kuk, lo que dices tú es lo que tengo hecho, pero preguntando si el tamaño del dato es 0, porque preguntando por low-values, no funcionaba, el problema es que pueden haber, por ejemplo 20 lineas en blanco por el medio sin yo saberlo, y lo que dice fito, me parecería un bucle muuuuuy largo, con un retardo enorme, teniendo en cuenta que, como mucho la hoja tendrá 1000 lineas, aunque puede tener 50, 1000 o 25000, algo que no sé de antemano.

Gracias, seguiré buscando.

Un saludo.-
Josber is offline   Responder Con Cita
  #5
Antiguo 3 de marzo de 2016, 13:20
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, el problema es que no se puede saber realmente, ni Excel lo sabe como tal. Es difícil trabajar con una hoja Excel de tamaño variable. Deberías de fijar un estándar... Si no es posible, no hay otra manera que buscar. Si sabes el máximo de "ancho", por ejemplo 1000, buscas de 1000 para atrás como decía Fito.

En cuanto a LOW-VALUES, este es alfanumérico y equivale a X"00". Si no funciona, mira con H"00" (numérico).



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #6
Antiguo 3 de marzo de 2016, 19:25
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Josber,

Usando a ligação ao Excel por COM/OLE2 penso que é possível.

Eu tenho algum código em que utilizo o "Range" para formatar a folha de Excel:
Na Working:

Código COBOL:
  1.        WORKING-STORAGE SECTION.
  2.        01  EXCEL              OBJECT REFERENCE OLE.
  3.        01  WORKBOOK           OBJECT REFERENCE OLE.
  4.        01  SHEETS             OBJECT REFERENCE OLE.
  5.        01  WORKSHEET          OBJECT REFERENCE OLE.
  6.        01  CELL               OBJECT REFERENCE OLE.
  7.        01  COLUMNS            OBJECT REFERENCE OLE.
  8.        01  WCOLUMN            OBJECT REFERENCE OLE.
  9.        01  OBJRANGE           OBJECT REFERENCE OLE.
  10.        01  FITRANGE           OBJECT REFERENCE OLE.
  11. *******
  12.        01 ARRAYOBJ OBJECT REFERENCE COM-ARRAY.
  13.        01 LONG-INT-TYPE           PIC S9(9) COMP-5 VALUE 12.
  14.        01 ARRAY-DIMENSION         PIC S9(9) COMP-5 VALUE 2.
  15.        01 AXIS-1                  PIC S9(9) COMP-5 VALUE 22.
  16.        01 AXIS-2                  PIC S9(9) COMP-5 VALUE 22.
  17.        01  APPLICATION                    PIC X(20) VALUE "EXCEL.APPLICATION".
  18.        01  OLE-TRUE                       PIC 1(1)  BIT VALUE B"1".
  19.        01  FILLER                         PIC 1(7)  BIT.        
  20.        01  OLE-FALSE                      PIC 1(1)  BIT VALUE B"0".
  21.        01  FILLER                         PIC 1(7)  BIT.        
Na PROCEDURE:

Código COBOL:
  1.            INVOKE OLE "CREATE-OBJECT" USING APPLICATION RETURNING EXCEL.
  2.            INVOKE EXCEL "GET-WORKBOOKS" RETURNING WORKBOOK.
  3.            INVOKE WORKBOOK "ADD"                 RETURNING WORKBOOK.
  4.            INVOKE WORKBOOK "GET-WORKSHEETS" RETURNING SHEETS.
  5.            INVOKE SHEETS   "GET-ITEM" USING S-INDEX   RETURNING WORKSHEET.

Código COBOL:
  1.            INVOKE WORKSHEET "GET-RANGE" USING INIRANGE RETURNING OBJRANGE.
  2.            INVOKE OBJRANGE "SET-VALUE" USING ARRAYOBJ.
  3. *******
  4. ************ CALCULAR O RANGE DE CADA COLUNA PARA FORMATAR CAMPO
  5.  
  6. ************ UTILIZANDO O RANGE DAS COLUNAS/LINHAS UTILIZADAS
  7. ************  VAI FAZER O AUTOFIT (ALARGAR AS COLUNAS)
  8. *******
  9.              INVOKE WORKSHEET   "GET-USEDRANGE"       RETURNING OBJRANGE.
  10.              INVOKE OBJRANGE "GET-ENTIRECOLUMN" RETURNING FITRANGE.
  11.              INVOKE FITRANGE "AUTOFIT".

Se puderes utilizar COM/OLE2 pode ser que se consiga fazer o que pretendes.

Un saludo,
Rui Pinto
Rapinto is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is 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 15:58.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.