¿Cómo puedo hacer un programa en visual basic que me abra hojas o libros de excel?

Disculpa tengo una duda: quiero hacer un programa en visual basic que me abra hojas o libros de excel le pongo el workbook. Open (tal como el visual o macro de excel le pone ) pero no me hace nada ya en el visual basic (es la version 6 ) y quisiera saber cual seria el comando para hacerlo ; asu vez como para ejecutar un archivo .exe (digamos un ejemplo con la calculadora de windows )
2

2 respuestas

Respuesta
1
Esto es para manejar un archivo Excel desde VB:
Set WK = XL.Workbooks.Add
WK.SaveAs Fichero
'O abrir uno ya existente
Set WK = XL.Workbooks.Open(Fichero, 0, False, , , , True)
WK.Saved = True
'Dentro del "libro" excel podemos crear una hoja nueva
Set WS = WK.Worksheets.Add(, WK.Worksheets(WK.Worksheets.Count))
'O abrir una ya existente
Set WS = WK.Worksheets(Nombre)
'Para introducir datos en las celdas recorre el Grid
Dim iRow As Integer
Dim iCol As Integer
For iRow = 0 To Grid.Rows-1
For iCol = 0 To Grid.Cols - 1
WS.Cells(iRow, iCol) = Grid.TextMatrix(iRow, iCol)
Next iCol
Next iRow
'Y cerramos todo
Set WS = Nothing
WK.Sabe
WK.Close
Set WK = Nothing
XL.Quit
Set XL = Nothing
Si quieres quitar los mensajes de error de excel pon XL.Application.DisplayAlerts = False
Y esto es para abrir cualquier archivo con el programa que tenga esblecido por defecto en la maquina:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub Command1_Click()
ShellExecute hWnd, "Open", prueba.xls, 0&, 0&, vbNormalFocus
End Sub
Te abriria la aplicacion Excel con el Workbook "prueba.xls" cargado.
Si quieres abrir un ejecutable, puedes utilizar el comando Shell de VB (le tienes que indicar la ruta completa):
Private Sub Command1_Click()
'Te abre el bloc de notas
Shell "c:\windows\Notepad,exe", vbNormalFocus
End Sub
Respuesta
1
Primero te diré que no utilizo la versión 6, pero te voy a dar alguna respuesta de como se haría en la 5 y tiene que funcionar también en la 6. Bueno para ejecutar un programa desde una aplicación hecha con VB se puede utilizar la función Shell de la siguiente manera: Shell Path, estilo
Path indica el nombre del ejecutable y su path, si es una aplicación Windows o el ejecutable está en la misma carpeta de la aplicación VB no hace falta escribir el path, con el nombre del archivo es suficiente. En estilo podremos escribir una constante de VB o un número que identifique el estilo de ventana que queremos. Serían los siguientes:
VbHide 0: Se oculta y se pasa el foco a la ventana oculta.
VbNormalFocus 1: Abre en su posición y tamaño original y se le pasa el foco.
VbMinimizedFocus 2: Se muestra minimizadocomo con foco.
VbMaximizedFocus 3: Maximizado con foco.
VbNormalNoFocus 4: Recupera el tamaño y posición más recientes. La ventana activa actual permanece activa.
VbMinimizedNoFocus 6: Se abre minimizado. La ventana activa actual permanece activa.
De todas formas, estilo, es opcional y se puede omitir. El ejemplo que me pides con la calculadora de Windows sería: Shell "Calc.exe"
Si lo que quieres es abrir una hoja de calculo de Excel u otro documento cualquiera un ejemplo sería:
Shell "C:\Archivos de programa\Microsoft Office\Office\WINWORD.EXE c:\liquidacion.xls"
Osea más o menos como lo harías desde la linea de comandos de ms-dos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas