elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [VBS] Duda con Excel.application (WXP=W7?)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [VBS] Duda con Excel.application (WXP=W7?)  (Leído 2,687 veces)
klaine

Desconectado Desconectado

Mensajes: 112



Ver Perfil WWW
[VBS] Duda con Excel.application (WXP=W7?)
« en: 7 Abril 2011, 22:39 pm »

Hola, tengo el siguiente script, en windows xP me funka bien, en windows 7 se vuelve loko  :-\, básicamente crea una planilla de excel para un ciber café, usa excel.application para crear la primera parte de la planilla, y luego copio el resto con wscript.shell.sendkeys, uso tiempos entre las pulsaciones de teclas para que no se me caiga el script (y de paso excel, porque me ha pasado), bueno les dejo el script:

Código
  1.  
  2. set exc=createobject("excel.application")
  3. set wss=createobject("wscript.shell")
  4.  
  5. exc.visible = true
  6.  
  7. ' preparando el archivo
  8.  
  9. set ambiente = exc.workbooks.add()
  10. wss.sendkeys "+({f11})"
  11. wscript.sleep 200
  12. wss.sendkeys "+({f11})"
  13. wscript.sleep 200
  14. wss.sendkeys "+({f11})"
  15. wscript.sleep 200
  16. wss.sendkeys "+({f11})"
  17. wscript.sleep 200
  18.  
  19. 'preparando la hoja PCs
  20.  
  21. set fecha1 = exc.range("B2")
  22. fecha1.interior.colorindex = 28
  23. fecha1.formula = "Ingrese fecha"
  24. fecha1.borders.colorindex = 1
  25.  
  26. set fecha2 = exc.range("C2")
  27. fecha2.interior.colorindex = 28
  28. fecha2.borders.colorindex = 1
  29. fecha2.formula = "01-01-2012"
  30. fecha2.select
  31. wss.sendkeys "{f2}"
  32. wss.sendkeys "{enter}"
  33.  
  34. set fecha3 = exc.range("C8")
  35. fecha3.interior.colorindex = 28
  36. fecha3.borders.colorindex = 1
  37. fecha3.formula = "=C2+1"
  38. fecha3.select
  39. wss.sendkeys "{f2}"
  40. wss.sendkeys "{enter}"
  41.  
  42. set rango1 = exc.range("C10:H10")
  43.  
  44. rango1.interior.colorindex = 1
  45. rango1.font.colorindex = 4
  46. rango1.font.bold = true
  47.  
  48. exc.range("c10").formula = "PC 1"
  49. exc.range("d10").formula = "PC 2"
  50. exc.range("e10").formula = "PC 3"
  51. exc.range("f10").formula = "PC 4"
  52. exc.range("g10").formula = "PC 5"
  53. exc.range("h10").formula = "PC 6"
  54.  
  55. set rango2 = exc.range("C11:h19")
  56. rango2.interior.colorindex = 15
  57. rango2.borders.colorindex = 1
  58.  
  59. set rangof = exc.range("C20:H20")
  60.  
  61. rangof.interior.colorindex = 28
  62. rangof.borders.colorindex = 1
  63. rangof.select
  64.  
  65. set f1 = exc.range("C20")
  66. f1.formula = "=suma(C11:C19)"
  67. f1.select
  68. wss.sendkeys "{f2}"
  69. wss.sendkeys "{enter}"
  70. wscript.sleep 666
  71. wss.sendkeys "{up}"
  72. wss.sendkeys "^(c)"
  73. wss.sendkeys "+({right})"
  74. wss.sendkeys "+({right})"
  75. wss.sendkeys "+({right})"
  76. wss.sendkeys "+({right})"
  77. wss.sendkeys "+({right})"
  78. wss.sendkeys "{enter}"
  79.  
  80. wscript.sleep 200
  81.  
  82. set total = exc.range("H22")
  83. total.formula = "=suma(C11:H19)"
  84. total.select
  85. wss.sendkeys "{f2}"
  86. wss.sendkeys "{enter}"
  87. ' -------------------------
  88. 'copiando el cuadro al resto de la hoja
  89.  
  90. set stotal = exc.range("G22")
  91. stotal.formula = "Total"
  92.  
  93. set rango3 = exc.range("C8:H22")
  94. rango3.select
  95. wss.sendkeys "^(c)"
  96.  
  97. dim control
  98. control=1
  99.  
  100. ' bajar 16 y pegar
  101.  
  102. do
  103.  
  104. for i=1 to 20 step 1
  105.  
  106. wss.sendkeys "{down}"
  107.  if control = 32 then
  108.     exit do
  109.  end if
  110. next
  111.  
  112. wss.sendkeys "^(v)"
  113. wscript.sleep 200
  114. control = control + 1
  115. loop
  116.  
  117. exc.columns("B").entirecolumn.autofit
  118.  
  119. ' eso, el resto está listo para pasar a la siguiente hoja
  120. for x=8 to 628 step 20
  121.  
  122. if x>8 then
  123. resta= x-20
  124. exc.cells(x, 3).formula = "=C"&resta&"+1"
  125. exc.cells(x, 3).select
  126. wss.sendkeys "{f2}"
  127. wss.sendkeys "{enter}"
  128. wscript.sleep 200
  129. end if
  130.  
  131. fecha2.formula = ""
  132.  
  133. next
  134.  
  135. exc.range("C8").formula = "=C2"
  136. exc.range("c8").select
  137. wss.sendkeys "{f2}"
  138. wss.sendkeys "{enter}"
  139.  
  140. '*****************************************
  141. '*****************************************
  142. '             SEGUNDA HOJA
  143. '*****************************************
  144. '*****************************************
  145.  
  146. wss.sendkeys "^{pgdn}"
  147.  
  148.  

De antemano gracias  por sus respuestas :D

Saludos  ;)


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [VBS] Duda con Excel.application (WXP=W7?)
« Respuesta #1 en: 8 Abril 2011, 02:41 am »

No lo he probado, pero desde ya te digo que es una mala idea, el envio de teclas tiene que utilizarse como última opción, intenta buscar funciones nativas que hagan lo que necesitas :P (Excel se puede automatizar en su totalidad)

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Introducción a los Web Application Firewalls (WAF)
Seguridad
madpitbull_99 4 7,474 Último mensaje 15 Julio 2011, 18:33 pm
por Dr [F]
[VBS] IternetExplorer.Application
Scripting
klaine 8 4,446 Último mensaje 25 Julio 2011, 23:43 pm
por klaine
[Duda] Guardar un string y mostrarlo en Console Application
Programación C/C++
Hurubnar 3 3,336 Último mensaje 3 Diciembre 2011, 22:31 pm
por Hurubnar
Make Application Unkillable
Programación Visual Basic
Swellow 6 5,465 Último mensaje 10 Julio 2012, 03:58 am
por BlackZeroX
WinWatcher (WinForms Application Source)
.NET (C#, VB.NET, ASP)
Novlucker 3 4,099 Último mensaje 3 Diciembre 2012, 02:59 am
por Novlucker
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines