Jump to content

Escribir Automaticamente mediante VBA


Erics

Recommended Posts

yap entonces en que lenguaje quieres lograr eso?

 

Es que mi idea era encontrar una manera de lanzar esa orden... independiente del lenguaje que se utilice... ya que al día de hoy no he encontrado el programa con el que lograbamos dijitar de manera automatica...

Link to comment
Share on other sites

  • Replies 20
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Te refieres a esto???

 

Codigo Vendedor;Codigo Producto;Cantidad;Precio Unitario
67;B-36283CR18;1;3200
67;W-700240;1;5910
67;IG-MH001;1;2100
67;DP-28732-6;1;6069
67;W-700280;1;6500
67;W-700010;1;4200

 

*** Aprovecho de dejarte el pantallazo... el primero es el programa que utilizamos en Tabla de Visual Fox Pro y el otro cuadro es el excel

 

http://s2.(Palabra Censurada, BOT dañino)/otros/previo/thump_8641271sin-ttulo2.jpg

Link to comment
Share on other sites

Una vez realice algo por el estilo .... desde excel mandaba ordenes hacia el programa, emulando pulsación de teclas ... busca información del metodo sendkey para vba (excel)

 

 

Justamente parmijo... creo que voy bien encaminado... encontre este ejemplo...

 

Sub Ejemplo() 'abre la calculadora y efectúa la suma 5+2=7

Dim RetVal, Direc As String

Direc = "C:\WINDOWS\system32\CALC.EXE"

If Len(Dir(Direc)) > 0 Then

RetVal = Shell(Direc, 1) ' Ejecuta Calculadora.

Application.SendKeys 5, True

Application.SendKeys "{+}", True

Application.SendKeys 2, True

Application.SendKeys "=", True

End If

End Sub

 

 

Lo estoy probando en el VBA de excel, el tema es que ejecuta la calculadora perfectamente... pero me teclea "5+2=" en el programa activo... ahora que voy bien encaminado... como doy esta orden al programa activo que tengo sin abrir excel... para que le dé la orden al programa abierto... iré comentando mis avances... se agradece enormemente la ayuda.

Link to comment
Share on other sites

Mira este es una parte de la macro que tenia

Sub PARTE2()
'Aca asignas los datos a las variables
monto1 = UserForm1.TextBox21
monto3 = "im"
afp1 = Left(UserForm1.ComboBox14, 1)
isapre = UserForm1.ComboBox15
caja = UserForm1.ComboBox16
' Con alt Tab puedes cambiar de foco del programa
'SendKeys "%{Tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "%{DOWN}"
SendKeys afp1 aca envias el valor de la variable
SendKeys afp1
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys caja
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys isapre
SendKeys "{tab}"
SendKeys monto1
SendKeys "{tab}"
SendKeys "{%}"
SendKeys monto3
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
SendKeys "{tab}"
End Sub
Link to comment
Share on other sites

Bueno, tomando tu ejemplo... estoy jugando un poco en una pagina...

 

Private Sub Form_Load()
AppActivate "Firefox"
SendKeys "erojas", True
SendKeys "{Tab}", True
SendKeys "{ENTER}", True
SendKeys "{Tab}", True
End Sub

 

Ahora el drama es que estoy un poco pegado porque debo hacer clic en otro lugar y para eso, segun mi opinion debo darle a la tecla {tab}, quedando algo así, para posicionarse donde quiero e ingresar.

 

Private Sub Form_Load()
AppActivate "Firefox"
SendKeys "erojas", True
SendKeys "{Tab}", True
SendKeys "{ENTER}", True
SendKeys "{Tab 19}", True

SendKeys "{ENTER}", True
End Sub

 

Pero como la pagina tarda un poco en cargar... como hago para que espere unos 3 segundos???

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...