macros excel

15/06/2007 - 19:42 por R2D2 | Informe spam
¿se puede ejecutar macros excel sin abrir excel?

Preguntas similare

Leer las respuestas

#1 zz
15/06/2007 - 19:52 | Informe spam
Macros de excel sin abrir excel es como programas de windows sin iniciar
windows

sin embargo...

puedes hacer casi casi lo mismo que con una macro, pero con un script
*.Vbs, al igual que con una macro puedes acceder al sistema de objetos de
XL[con limitantes, por supuesto] con las ventajas que ello representa y
algunas adicionales, como poder ejecutarlas fuera del entorno del programa.

Tambien puedes visitar
Walter R . [zz]

"R2D2" wrote in message
news:
¿se puede ejecutar macros excel sin abrir excel?
Respuesta Responder a este mensaje
#2 Héctor Miguel
16/06/2007 - 10:13 | Informe spam
hola, Walter ! [disculpando la intromision] :))

Macros de excel sin abrir excel es como programas de windows sin iniciar windows
sin embargo...
puedes hacer casi casi lo mismo que con una macro, pero con un script *.Vbs
al igual que con una macro puedes acceder al sistema de objetos de XL [con limitantes, por supuesto]
con las ventajas que ello representa y algunas adicionales, como poder ejecutarlas fuera del entorno del programa.



podrias proveer un ejemplo de como ejecutarias macros *de excel* por un script *.vbs SIN usar excel ? [p.e.]:
-> depositar una formula o aplicar un formato en *determinada* celda/hoja/libro SIN abrir ni excel ni el libro ?
-> agregar/eliminar/renombrar/... una hoja de un libro SIN abrir ni excel ni el libro ?
-> cualquier otro evento que requiera administrar el modelo de objetos de excel... SIN excel ?

quedo a la espera, y saludos,
hector.
Respuesta Responder a este mensaje
#3 zz
16/06/2007 - 18:10 | Informe spam
Este código me lo pasaron hace alrededor de un año en el grupo de scripting,
yo sólo lo modifique para incluir la formula en la celda "A1"


Dim sFSpec : sFSpec = ".\test3.xls"
Dim nSheet : nSheet = 1
Dim nRow : nRow = 1
Dim nCol : nCol = 1
Dim nValue : nValue = 9
dim formula : formula= "=rept(char(124),16)"

Dim oFS, oExcel, oWBook, oSheet
Set oFS = CreateObject( "Scripting.FileSystemObject" )
sFSpec = oFS.GetAbsolutePathName( sFSpec )
Set oExcel = CreateObject( "Excel.Application" )
If Not oFS.FileExists( sFSpec ) Then
Set oWBook = oExcel.Workbooks.Add
WScript.Echo "Create: ", sFSpec
Set oSheet = oWBook.Sheets.Add
WScript.Echo "Sheet: ", oSheet.Name, "created"
oSheet.Cells( nRow, nCol ).Value = nValue
oWBook.SaveAs sFSpec
WScript.Echo "Save: ", sFSpec
oWBook.Close
End If

oExcel.Workbooks.Open sFSpec
WScript.Echo "Open: ", sFSpec
Set oWBook = oExcel.Workbooks( 1 )
WScript.Echo "WBook: ", oWBook.Name
Set oSheet = oWBook.Sheets( nSheet )
WScript.Echo "Sheet: ", oSheet.Name

oSheet.Cells( nRow, nCol ).Value = formula
WScript.Echo "Value: ", oSheet.Cells( nRow, nCol ).Value

oWBook.Save
WScript.Echo "Save: ", sFSpec
oWBook.Close
oExcel.Quit

Set oSheet = Nothing
Set oWBook = Nothing
Set oExcel = Nothing
Set oFS = Nothing


por supuesto que no es ni mucho menos la forma más eficiente [me imagino], y
se puede optimizar muchisimo más, pero hace más o menos lo que me olvidé de
detallar en mi respuesta a R2D2 ...

Saludos.
Tambien puedes visitar
Walter R . [zz]

"Héctor Miguel" wrote in message
news:uGBVu4%
hola, Walter ! [disculpando la intromision] :))

Macros de excel sin abrir excel es como programas de windows sin iniciar
windows
sin embargo...
puedes hacer casi casi lo mismo que con una macro, pero con un script
*.Vbs
al igual que con una macro puedes acceder al sistema de objetos de XL
[con limitantes, por supuesto]
con las ventajas que ello representa y algunas adicionales, como poder
ejecutarlas fuera del entorno del programa.



podrias proveer un ejemplo de como ejecutarias macros *de excel* por un
script *.vbs SIN usar excel ? [p.e.]:
-> depositar una formula o aplicar un formato en *determinada*
celda/hoja/libro SIN abrir ni excel ni el libro ?
-> agregar/eliminar/renombrar/... una hoja de un libro SIN abrir ni excel
ni el libro ?
-> cualquier otro evento que requiera administrar el modelo de objetos de
excel... SIN excel ?

quedo a la espera, y saludos,
hector.

Respuesta Responder a este mensaje
#4 Tux
16/06/2007 - 20:14 | Informe spam
zz escribió:
Este código me lo pasaron hace alrededor de un año en el grupo de scripting,
yo sólo lo modifique para incluir la formula en la celda "A1"

oExcel.Workbooks.Open sFSpec
WScript.Echo "Open: ", sFSpec
Set oWBook = oExcel.Workbooks( 1 )
WScript.Echo "WBook: ", oWBook.Name
Set oSheet = oWBook.Sheets( nSheet )
WScript.Echo "Sheet: ", oSheet.Name




Buenas :) !!

Perdon por la intromision :-P jejejejeej! :-D !!

Solamente me entrometo para exponer mi opinion sobre este script:

Bien exactamente en la linea esta :

[ oExcel.Workbooks.Open sFSpec ]

abre una instancia de excel ...

y permanece abierta hasta logicamente :

oWBook.Close
oExcel.Quit

osea se :) es necesario tener excel en el sistema y por lu tanto
ejecuta dentro del entorno del programa :-P !!


Saludos
Monica



Estado: A la Espera By Fermu

Tic-Tac-Tic-Tac...

Now We are free [Enya]

www.fermu.com
Respuesta Responder a este mensaje
#5 zz
16/06/2007 - 20:30 | Informe spam
En efecto mi estimadísima Monica,

Es necesario tener instalado excel en el sistema para poder trabajar con el
modelo de objetos, pero a efectos de la consulta del buen José que pedía
poder ejecutar macros de excel "sin abrir Excel", dí por [sobre]entendido
que necesita ejecutar macros de excel en un sistema que ya tiene excel
instalado previamente.

y por lo de "entorno de programa", me corrijo, me refería a que se ejecuten
acciones sin tener abierta una ventana visible de Excel. :D

Tambien puedes visitar
Walter R . [zz]

"Tux" wrote in message
news:
zz escribió:
Este código me lo pasaron hace alrededor de un año en el grupo de
scripting, yo sólo lo modifique para incluir la formula en la celda "A1"

oExcel.Workbooks.Open sFSpec
WScript.Echo "Open: ", sFSpec
Set oWBook = oExcel.Workbooks( 1 )
WScript.Echo "WBook: ", oWBook.Name
Set oSheet = oWBook.Sheets( nSheet )
WScript.Echo "Sheet: ", oSheet.Name




Buenas :) !!

Perdon por la intromision :-P jejejejeej! :-D !!

Solamente me entrometo para exponer mi opinion sobre este script:

Bien exactamente en la linea esta :

[ oExcel.Workbooks.Open sFSpec ]

abre una instancia de excel ...

y permanece abierta hasta logicamente :

oWBook.Close
oExcel.Quit

osea se :) es necesario tener excel en el sistema y por lu tanto ejecuta
dentro del entorno del programa :-P !!


Saludos
Monica



Estado: A la Espera By Fermu

Tic-Tac-Tic-Tac...

Now We are free [Enya]

www.fermu.com









Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida