Jump to content

Escribir Automaticamente mediante VBA


Erics

Recommended Posts

Hola a todos, soy nuevo en esto y quisiera saber si se puede, y si se puede que herramientas puedo utilizar... les explico... HAce unos años atras trabajé en una empresa donde digitaban de manera automatica el stock... osea cargaban en un ".TXT" separado por comas y lo lanzaban con un programita... de tal manera que el programa escribia solo tomando en cuenta lo que se estaba en el ".TXT"... Alguien conoce algo similar... Gracias por su ayuda!!!

 

 

_____________________________

 

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.

Edited by Erics
Link to comment
Share on other sites

  • Replies 20
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

eso se puede hacer con un sin fin de lenguajes, seria bueno que expongas en que lenguaje lo deseas...

 

edito te dejo un ejemplo basico en php...

 

suponiendo que tienes un archivo *.txt

 

de la siguente manera:

 

archivo.txt

 

fila1.columna1;fila1.columna2;fila1.columna3
fila2.columna1;fila2.columna2;fila2.columna3;fila2.columna4
fila3.columna1
fila4.columna1;fila4.columna2;fila4.columna3;fila4.columna4;fila4.columna5

 

el php:

<?php
function my_csv($archivo){
$file = file($archivo);
    for($i=0;$i<count($file);$i++){
    $bla[$i] = explode(";", rtrim($file[$i]));
    }
return $bla;
}

$separadoPorComas = my_csv("archivo.txt");
?>

Saludos :adios:

Edited by cañangasñangas
Link to comment
Share on other sites

Entiendo "0" con respecto a el lenguaje que se puede utilizar... basicamente lo quiero lanzar para un ordenador, lo que sucede es que debo digitar facturas manualmente... y es algo tedioso hacerlo a cada rato los mismos codigos y el mismo tramite... Mi idea era tener una especie de plantilla donde pueda ir copiando y pegando... no sé si pueda subir un ejemplo de lo que hago habitualmente para que me entiendan mejor...

Link to comment
Share on other sites

Entiendo "0" con respecto a el lenguaje que se puede utilizar... basicamente lo quiero lanzar para un ordenador, lo que sucede es que debo digitar facturas manualmente... y es algo tedioso hacerlo a cada rato los mismos codigos y el mismo tramite... Mi idea era tener una especie de plantilla donde pueda ir copiando y pegando... no sé si pueda subir un ejemplo de lo que hago habitualmente para que me entiendan mejor...

 

checka lo que edite en mi post...

Link to comment
Share on other sites

Haber si con esto me doy a entender mucho mejor... llevandolo a la practica debo hacer lo siguiente (en realidad debo digitar otras cosas ademas pero esto es lo mas tedioso)

 

***Tomando como referencia el primer codigo

>Enter>67>B-36283CR18>Enter>Enter>Enter>Enter>3200>1

 

Respetando Mayusculas y Guiones el ">" solo lo usé como separador...

 

Adjunto imagen

http://subefotos.com/ver/?cc9f17a76ee89543060083f0852e695ao.jpg

El primer cuadro es el programa que usan acá y el segundo cuadro es el excel que luego pasaríamos a .txt
Link to comment
Share on other sites

 

Una macro o algo por el estilo que haga esto

 

>Enter

>67

>B-36283CR18

>Enter

>Enter

>Enter

>Enter

>3200

>1

 

De acuerdo al TXT que está así

 

"67;B-36283CR18;3200;1;"

 

 

Para lanzarlo luego de manera automatica...

 

no deberia ser asi, segun lo que leo:

 

";67;B-36283CR18;;;;;3200;1"

 

 

Tienes toda la razón...

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...