Foros del Web » Programando para Internet » ASP Clásico »

Darle formato a Excel desde VBScript

Estas en el tema de Darle formato a Excel desde VBScript en el foro de ASP Clásico en Foros del Web. Que tal, les dare un resumen de lo que tengo que hacer, lo que llevo hasta el momento y de lo que me falta por ...
  #1 (permalink)  
Antiguo 12/04/2010, 17:43
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Darle formato a Excel desde VBScript

Que tal, les dare un resumen de lo que tengo que hacer, lo que llevo hasta el momento y de lo que me falta por lograr.

tengo que escribir en un documento excel 'X' cantidad de numeros que el usuario inserte, por ejemplo, si el usuario inserta el numero 456, en el documento excel tengo que escribir desde el numero 1 hasta el 456 (un numero en cada celda), PERO se deben de escribir en el siguiente formato: 001, 005, 010,025, 100, XXX.

lo que ya tengo es lo de la escritura en el archivo, ya puedo escribir en las celdas desde el 1 hasta el XXX.

lo que me falta es que se escriban de esta manera 00X, 0XX y XXX, trate de concatenarle el numero de ceros correspondiente, pero recorde que excel automaticamente 'formatea' los numero, tons si le meto el 001 al darle enter excel lo pone como 1 solamente, tons para eso ocupo moverle a la configuración de la hoja de excel, tons la pregunta es:

existe alguna manera de darle la configuración a excel desde el codigo vbscript? y si es así me podrian decir como? (:
gracias y hasta pronto
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #2 (permalink)  
Antiguo 13/04/2010, 06:59
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Darle formato a Excel desde VBScript

Así:

sNumero = RIGHT("0000" & TuContador, 4)


Saludos
  #3 (permalink)  
Antiguo 13/04/2010, 10:01
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Darle formato a Excel desde VBScript

gracias Myakire, lo hice de otra manera y me funciono :P puse esto:

objSheet.Cells.NumberFormat = "000"

estuve buscando por varios lados las propiedades hasta que encontre esta, ahora lo que me falla es en el ciclo, si lo hago con un ciclo For si funciona:

Código vb:
Ver original
  1. For k=1 to n1
  2.  objSheet.Cells(k,1).Value = k
  3. Next

pero si lo hago con un while se me queda ciclado Dx

Código vb:
Ver original
  1. k=1
  2. Do While k <= n1
  3.  WScript.Echo "dentro del loop" & k
  4.  objSheet.Cells(k,1).Value = k
  5.  k=k+1
  6. Loop

ya lo intente de varias maneras y nomas no puedo hacer que funcione \"
alguna idea?
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #4 (permalink)  
Antiguo 13/04/2010, 10:53
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Darle formato a Excel desde VBScript

YA LO ACABE, aqui les dejo el codigo por si alguien ocupa algo parecido:

Código vb:
Ver original
  1. Dim strExcelPath, objExcel, objSheet, k, n1,n2, c
  2.  
  3. n1=InputBox("numero: ","Que tranza loco") 'numero a insertar
  4.  
  5. If n2=CInt(n1) < 0 Then 'aqui se revisa si es mayor cero
  6. WScript.Echo "inserte valores positivos"
  7.  WScript.Quit  'si el numero es negativo sale del programa
  8. End If
  9.  
  10. c=Len(n1) 'mide la longitud de la cadena
  11.  
  12. If c = 1 Then
  13.  n2 = "00" + n1 'si es numero de un solo digito agrega dos ceros al principio
  14. ElseIf c = 2 Then
  15.  n2 = "0" + n1 'si es numero de dos digitos agrega un cero al principio
  16. End If
  17.  
  18.  
  19. '-----EXCEL----
  20.  
  21. 'Direccion donde se guardara el documento
  22. strExcelPath = "C:\talDireccionEnSuDiscoDuro\"
  23.  
  24. 'Nombre del documento
  25. strExcelPath = strExcelPath + "nombreArchivoExcel.xls"
  26.  
  27. 'Bind to excel object
  28. On Error Resume Next
  29. Set objExcel = CreateObject("Excel.Application")
  30. If(Err.Number <> 0) Then
  31.  On Error Goto 0
  32.  WScript.Echo "Excel application not found."
  33.  WScript.Quit
  34. End If
  35. On Error GoTo 0
  36.  
  37. 'Crea nuevo libro de trabajo
  38. objExcel.Workbooks.Add
  39.  
  40. 'Bind to worksheet
  41. set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
  42. objSheet.Name = "Del 1 al " & n1 'Nombre de la hoja
  43.  
  44. 'Llenado de las hojas
  45.  
  46. 'Con un ciclo For
  47. 'For k=1 to n1
  48. ' objSheet.Cells(k,1).Value = k
  49. 'Next
  50.  
  51. 'Con un ciclo While
  52. k=1
  53. n1=CInt(n1) 'aqui se convierte el valor a Int para que funcione el ciclo
  54. Do While k <= n1
  55.  objSheet.Cells(k,1).Value = k
  56.  k=k+1
  57. Loop
  58.  
  59. 'Formato a la hoja
  60. objSheet.Cells.NumberFormat = "000"
  61.  
  62. 'Guardar y Salir
  63. objExcel.ActiveWorkBook.SaveAs strExcelPath
  64. objExcel.ActiveWorkBook.Close
  65. WScript.Echo "Listo!"

enjoy! (:
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said

Etiquetas: excel, formato, vbscript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:48.