Visual Basic - VBasic son Excel

Life is soft - evento anual de software empresarial
 
Vista:

VBasic son Excel

Publicado por jorge (71 intervenciones) el 21/03/2002 10:57:46
...si me pueden ayudar, como hacerle para que desde VB abra un archivo de excel y luego ejecute una macro que ya existe, se puede hacer??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:VBasic son Excel

Publicado por sacha (23 intervenciones) el 21/03/2002 15:15:20
jorge, no sé si te va a servir, pero podés probar.

Tenés la macro en excel, supongamos Macro1 en el Módulo1, luego, en el editor de VB en excel, en la carpeta Microsoft Excel Objetos, en "Este Libro" colocar el sgte código:

Private Sub Workbook_Open()
Módulo1.Macro1
End Sub

Con esto lográs que la macro se ejecute al abrir el archivo de excel.

En Visual, podés llamar al archivo de la sgte forma:

Creas un .htm y en body pones lo sgte: <Body onLoad="window.location='tuarchivo.xls'>
**tuarchivo.xls tiene que referenciar el acceso completo, si es http://tuarchivo.xls o c:\tuarchivo.xls

Luego, en un frm de VB, agregar un control webbrowser y poner el sgte código:

Private Sub Form_Load()
WebBrowser1.Navigate "tuarchivo.htm"
End Sub

Entonces cada vez que llamas al load de ese form, te lo carga con el archivo xls, informando que el archivo de excel tiene macros, y si deseas abrir de todas formas

A partir de esto podés buscar las variantes para acceder al archivo.

Tendría que funcionar, no tengo idea porque nunca abrí un excel con macros y ejecutarla al abrir el libro, cualquier cosa, me envias un mail y comentas el resultado.

Otra posibilidad sería usando objetos pero no verías la planilla en pantalla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VBasic son Excel

Publicado por jorge (71 intervenciones) el 21/03/2002 18:14:41
mmm lo intentare y te digo que pasa, si tienes algun ejemplo me gustaria me lo mandaras, me gustaria mejor hacer lo que dices con objetos, no importa que no vea la plantilla, no es importante verla pero si que corra la macro..y sabes como decirledesde VBque una tablala convierta a EXCEL??? te lo agradecere mucho, Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VBasic son Excel

Publicado por sacha (23 intervenciones) el 22/03/2002 13:28:50
Jorge, te paso como podrías convertir una tabla a excel:
Definis primeramente un var tipo object, luego trabajas sobre ella:

Dim ObjExcel As Object

Set ObjExcel = CreateObject("Excel.Application")
Err.clear

With ObjExcel
.Workbooks.Open "tu archivo excel"
.Worksheets(1).Activate

'Abris la tabla donde tenés los datos con un recordset (rs), luego
Dim intFila As Integer
intFila = 1
Do while not rs.eof
.cells(intFila,1) = rs!campo1
.cells(intFila,2) = rs!campo2
...
intFila = intFila + 1
loop

rs.close
set rs = nothing

'--Así podes pasar los datos a excel, es muy lento pero...

'--Luego de copiar la tabla a excel, ejecutas la macro..

.Run ("macro1")

.Quit
End With

'---------------------------
Otra forma podría ser si usas acces, crear un object acces, y utilizar:

DoCmd.TransferSpreadsheet acExport, 8, "Nombre_Tabla a exportar", "tuarchivo.xls", True, ""

Tendría que funcionar, ya que DoCmd es propio de acces

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar