Abrir archivos .bat en vb

¿Cómo andas?
Te cuento que estoy haciendo un soft en vb y necesito por medio de un botón abrir el word... Entonces hice un archivo .bat (con la start instrucción winwod para que me abra el programa) lo ejecuto y anda de d10 pero no se como hacerlo desde visual...
Esa seria una pregunta. Y por ultimo tengo que hacer lo mismo pero con excel(ACÁ EL PROBLEMA)
Cuando creo el archivo .bat con la instrucción (start excel). Al ejecutarlo se genera como una especie de bucle y lo que hace es abrirme montones de ventanas DOS, tampoco me ejecuta el excel...
¿Es la forma más fácil de hacer esto?
Capaz que me la estoy complicando yo solo!

1 respuesta

Respuesta
1
Pues creo que sí te estás complicando un poco, yo he hecho lo que necesitas anteriormente y lo he realizado de otra forma, a ver qué te parece:
1.- Agregar las referencias correspondientes [Menú: Proyecto > Referencias, activar las siguientes casillas].
   * Para WORD: Microsoft Word 12.0 Object Library
   * Para EXCEL: Microsoft Excel 12.0 Object Library
2.- El siguiente ejemplo es de un formulario con 2 botones [CmdAbrirWord y CmdAbrirExcel] que al presionarlos servirán para la tarea que necesitamos, esto utilizando el siguiente código:
Private Sub CmdAbrirWord_Click()
    Dim AppWord As New Word.Application 'variable de tipo aplicación de Word
    With AppWord
        .Documents.Add 'agregamos un nuevo documento
        .Visible = True 'hacemos visible Word
    End With
End Sub
Private Sub CmdAbrirExcel_Click()
    Dim AppExcel As New Excel.Application 'variable de tipo aplicación de Excel
    With AppExcel
        .Workbooks.Add 'agregamos un nuevo libro
        .Visible = True 'hacemos visible Excel
    End With
End Sub
Espero te sea de utilidad, déjate de complicaciones con los "bats", aunque tal vez los puedas usar más adelante para otras cosas. Si tienes alguna duda, pregunta de nuevo con toda confianza.
Saludos desde México, Juan Pablo E.P.
Hola Amigo!
Primeros muchas gracias por tu ayuda... La verdad que ahora que veo esto, es verdad que m estaba complicando con los .bat
Bien, es una fantatca solución pero... me tira un error solo cuando quiero abrir word(con excel no pasa) y me dice...
"El equipo servidor no existe o no esta disponible"
P/D: Me deja abrir word pero solo una vez, cuando deseo abrirlo por segunda vez me dice lo que te puse arriba...
Ojala puedas decirme que es!
Saludos!
Diego
Que raro, justo acabo de ejecutarlo nuevamente y no me tira ningún error, podrías especificar exactamente qué deseas hacer, ya que este ejemplo sólo abre Word o Excel, pero para abrirlos con documentos u hojas de cálculo ya creadas, cambia un poquito.
Si no mal recuerdo, ese error me salió en algún momento cuando el archivo que intentaba abrir ya estaba abierto, por eso te pido que me des más datos para saber la causa por la cuál te marca ese error.
Saludos desde México, Juan Pablo E.P.
A ver si me puedo explicarme un poco más!
Cuando hago click en el botón, el cual tiene el código para ejecutar el word, me lo abre, pero solo me deja una vez nomas. Cuando cierro word y vuelvo a hacer click en el botón para ejecutarlo nuevamente me tira un error acá:
Private Sub Command1_Click()
With appword
.Documents.Add ######## aca se frena y me dice error#########
.Visible = True
End With
End Sub
Espero que así te pueda ayudar..
Gracias
Noto solamente algo raro: ¿Dónde está la declaración de la variable de tipo aplicación de Word?
Justo ejecuté el ejemplo nuevamente y descubrí lo siguiente [me mostró el error que te muestra a ti]:
*** La variable de tipo aplicación de Word la tienes declarada como "General", es decir, no es privada como en el ejemplo que te muestro, esto es lo que ocasiona ese error, pero... ¿porqué? No lo sé a ciencia cierta, me imagino que porque la variable se queda asociada al documento anterior y ya NO puede hacer referencia a uno nuevo, entonces... ¿cómo soluciono esto? Muy fácil, tienes 2 opciones: La primera es establecer dicha variable como privada, es decir, dentro del procedimiento "click" del botón [así como en el ejemplo], la segunda es quitar la referencia de dicha variable simplemente anexando una línea más de código al final del procedimiento "click" del botón "Set AppWord = Nothing" [sin comillas].
En resumen, dejas la variable como privada dentro del click o estableces la variable como general y quitas la referencia después de presionar el botón.
Saludos desde México, Juan Pablo E.P.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas