Ejecucion de VBA : un caso particular

28/03/2005 - 17:53 por LZ | Informe spam
Hola foro,

para efectuar la consulta, debo ejemplificar. Espero se entienda.

El proceso completo que se desea ejecutar es el siguiente:

1. Procesos Batch, habitualmente nocturnos, se ejecutan en una plataforma no
PC ( Unix, Mainframe UNISYS, Mainframe IBM).

2. Eventualmente, generan 2 archivos que se transfieren por FTP a PC

3. Esos archivos contienen:
3.1 Datos
3.2 Instrucciones para construir una planilla de calculos a partir de 3.1

4. Se arranca excel con una planilla que contiene una macro de autoejecucion
que lee los Datos y las Instrucciones y construye la planilla correspondiente
y finalmente cierra excel.

5. Se distribuye la planilla al usuario solicitante, copiandola en un folder
especifico

Se desea automatizar el proceso y que no haya participacion de operador
humano.

Las pruebas de 4. han sido correctas. La macro VBA funciona correctamente y
genera la planilla.

La consulta:

La ejecucion del punto 4. tal como esta descripta, es la mas 'economica'.
Como veran excel es utilizado 'simplemente' para la ejecucion de la macro.
Por lo tanto pregunto, existe algun mecanismo por el cual pueda ejecutar la
macro sin necesidad de 'levantar' excel ??
Puedo construir a partir de la macro VBA un programa ejecutable ( EXE ) que
construya la planilla ??

Agradezco respuestas y sugerencias.

LZ

Preguntas similare

Leer las respuestas

#6 LZ
30/03/2005 - 16:37 | Informe spam
Hola Sergio,

gracias por tu colaboracion, estudiare el alcance del tema. Es decir si es
posible construir objetos mas complejos como graficos o tablas pivotales. Y
me parece razonable y logico trabajar con lenguajes similares como el VB, y
mas aun en este caso especial, donde la similaridad proviene del grado de
parentesco.

Te mando saludos

Leonardo

"Sergio A Campos H" escribió:

Que tal LZ ¡

Encontré el siguiente truco de la página
http://www.gamarod.com.ar/trucos/74.asp, en el que desde Visual Basic for
Windows, crea una sheet de Excel, quizás sea muy limitado, pero te da pauta
a que siguiendo el rumbo de VBA utilices el lenguaje del que proviene.

Private Sub Command1_Click()
Dim ApExcel As Variant
Set ApExcel = CreateObject("Excel.application")
' Hace que Excel se vea
ApExcel.Visible = True
'Agrega un nuevo Libro
ApExcel.Workbooks.Add
'Poner Titulos
ApExcel.cells(1, 1).Formula = "Titulo de la Aplicacion"
ApExcel.cells(1, 1).Font.Size = 18
ApExcel.cells(2, 2).Formula = "Debe"
ApExcel.cells(2, 3).Formula = "Haber"
ApExcel.cells(2, 4).Formula = "Saldo"
ApExcel.cells(3, 2).Formula = 200
ApExcel.cells(3, 3).Formula = 100
' Aplica Formula
ApExcel.cells(3, 4).Formula = "³-C3"
' Hace una Seleccion de celdas y pone bordes de Color
ApExcel.RANGE("B3:D3").BORDERS.COLOR = RGB(255, 0, 0)
Set ApExcel = Nothing
End Sub

<!>
Tec. Inf. Sergio A Campos H

¿¿ Deseas colaborar en mi sitio ??, entra y envíame tus sugerencias de
contenido, ! se acepta de todo tipo !
http://mx.geocities.com/sergioacamposh
http://sergioacamposh.mundopc.net
<!>


"LZ" escribió en el mensaje
news:
> Hola Francisco,
>
> lo que realiza la macro es la creacion de una worksheet 'completa' a
> partir
> de un conjunto de datos extraidos de un sistema externo a la pc y de un
> segundo archivo que contiene un conjunto de instrucciones y que le indican
> a
> la macro VBA que tipo de planilla hay que realizar, que formatos, tablas
> dinamicas, graficos, quien es el usuario, en que folder hay que salvar la
> planilla, etc, etc, etc. Es decir esa macro funciona como un 'constructor'
> de
> workbooks, que luego le seran enviadas a usuarios finales ( grabando en el
> folder correspondiente o enviandola por email).
>
> La pregunta seria, existe alguna posibilidad de crear workbooks excel,
> fuera
> de excel u office.
>
> Yo mismo realice en 1990 un ejercicio en Clipper, un lenguaje que
> trabajaba
> con bases de datos de tipo dbf y que esta discontinuado en estos momentos,
> que era una pequeña emulacion de Lotus 1-2-3 ( DOS ) y construia planillas
> Lotus 1-2-3 a partir de una base de datos o de las operaciones que
> realizaba
> un usuario. Lo hice con un pequeño grupo de funciones que definian y
> creaban
> un archivo de planilla de calculos, cargaban valores en celdas ( numeros,
> textos y formulas) y/o los leian.
>
> Desde ya el tipo de planilla que habia en esos años tien un aspecto
> absolutamente primitivo en relacion a la complejidad actual, pero tengo la
> creencia que debe haber alguna libreria utilizable que permita desde algun
> lenguaje construir worbooks y worksheets.
>
> Te mando saludos
>
> Leonardo
>
> "Francisco Parrilla" escribió:
>
>> Si lo que pretendes es abrir solo un archivo de texto mediante Vbasis es
>> posible hacerlo.
>>
>> Vba para aplicaciones es similar a Vbasic for Windows
>>
>> Saludos
>>
>> Francisco
>>
>>
>> "LZ" escribió en el mensaje
>> news:
>> > Hola foro,
>> >
>> > para efectuar la consulta, debo ejemplificar. Espero se entienda.
>> >
>> > El proceso completo que se desea ejecutar es el siguiente:
>> >
>> > 1. Procesos Batch, habitualmente nocturnos, se ejecutan en una
>> > plataforma
>> > no
>> > PC ( Unix, Mainframe UNISYS, Mainframe IBM).
>> >
>> > 2. Eventualmente, generan 2 archivos que se transfieren por FTP a PC
>> >
>> > 3. Esos archivos contienen:
>> > 3.1 Datos
>> > 3.2 Instrucciones para construir una planilla de calculos a partir
>> > de
>> > 3.1
>> >
>> > 4. Se arranca excel con una planilla que contiene una macro de
>> > autoejecucion
>> > que lee los Datos y las Instrucciones y construye la planilla
>> > correspondiente
>> > y finalmente cierra excel.
>> >
>> > 5. Se distribuye la planilla al usuario solicitante, copiandola en un
>> > folder
>> > especifico
>> >
>> > Se desea automatizar el proceso y que no haya participacion de operador
>> > humano.
>> >
>> > Las pruebas de 4. han sido correctas. La macro VBA funciona
>> > correctamente
>> > y
>> > genera la planilla.
>> >
>> > La consulta:
>> >
>> > La ejecucion del punto 4. tal como esta descripta, es la mas
>> > 'economica'.
>> > Como veran excel es utilizado 'simplemente' para la ejecucion de la
>> > macro.
>> > Por lo tanto pregunto, existe algun mecanismo por el cual pueda
>> > ejecutar
>> > la
>> > macro sin necesidad de 'levantar' excel ??
>> > Puedo construir a partir de la macro VBA un programa ejecutable ( EXE )
>> > que
>> > construya la planilla ??
>> >
>> > Agradezco respuestas y sugerencias.
>> >
>> > LZ
>>
>>
>>



Respuesta Responder a este mensaje
#7 LZ
30/03/2005 - 17:35 | Informe spam
Sergio,

a partir de tu respuesta, comence a buscar en la Web, y encontre lo siguiente

vba in vb application
thread707-303153
Forum Search FAQs Links Jobs

chopin33 (Programmer) 28 Jun 02 9:33
hello,
can I insert my vba code for excel into the code of a vb application if I've
created an Excel sheet object in the vb code: Set ApExcel =
CreateObject("Excel.sheet")?
Thanks!

Xian


Find A Job or Post a Job Opening Click Here.
uberpudge (TechnicalUser) 28 Jun 02 12:13
-
Hello Xian,

As long as you make your your VB project includes a reference to the
Microsoft Excel Object Library (Project -> References ->[Scroll down and
place a checkmark to Microsoft Excel {Version Number} Object Library]), you
should be able to use the VBA Code with the Excel sheet.


Hope this helps,
Pete

-

Se desprende de la respuesta de Pete, que es posible ejecutar codigo VBA en
VB.
No tengo forma de corroborar esto, no tengo instalado VB y estoy dando mis
primeros pasos en VBA. Pero de ser cierta la respuesta de Pete, tendria
resuelto mi tema.

Si tenes la posibilidad de probar esta posibilidad podrias hacerlo y
contarme como te fue ??

Gracias

Leonardo

"Sergio A Campos H" escribió:

Que tal LZ ¡

Encontré el siguiente truco de la página
http://www.gamarod.com.ar/trucos/74.asp, en el que desde Visual Basic for
Windows, crea una sheet de Excel, quizás sea muy limitado, pero te da pauta
a que siguiendo el rumbo de VBA utilices el lenguaje del que proviene.

Private Sub Command1_Click()
Dim ApExcel As Variant
Set ApExcel = CreateObject("Excel.application")
' Hace que Excel se vea
ApExcel.Visible = True
'Agrega un nuevo Libro
ApExcel.Workbooks.Add
'Poner Titulos
ApExcel.cells(1, 1).Formula = "Titulo de la Aplicacion"
ApExcel.cells(1, 1).Font.Size = 18
ApExcel.cells(2, 2).Formula = "Debe"
ApExcel.cells(2, 3).Formula = "Haber"
ApExcel.cells(2, 4).Formula = "Saldo"
ApExcel.cells(3, 2).Formula = 200
ApExcel.cells(3, 3).Formula = 100
' Aplica Formula
ApExcel.cells(3, 4).Formula = "³-C3"
' Hace una Seleccion de celdas y pone bordes de Color
ApExcel.RANGE("B3:D3").BORDERS.COLOR = RGB(255, 0, 0)
Set ApExcel = Nothing
End Sub

<!>
Tec. Inf. Sergio A Campos H

¿¿ Deseas colaborar en mi sitio ??, entra y envíame tus sugerencias de
contenido, ! se acepta de todo tipo !
http://mx.geocities.com/sergioacamposh
http://sergioacamposh.mundopc.net
<!>


"LZ" escribió en el mensaje
news:
> Hola Francisco,
>
> lo que realiza la macro es la creacion de una worksheet 'completa' a
> partir
> de un conjunto de datos extraidos de un sistema externo a la pc y de un
> segundo archivo que contiene un conjunto de instrucciones y que le indican
> a
> la macro VBA que tipo de planilla hay que realizar, que formatos, tablas
> dinamicas, graficos, quien es el usuario, en que folder hay que salvar la
> planilla, etc, etc, etc. Es decir esa macro funciona como un 'constructor'
> de
> workbooks, que luego le seran enviadas a usuarios finales ( grabando en el
> folder correspondiente o enviandola por email).
>
> La pregunta seria, existe alguna posibilidad de crear workbooks excel,
> fuera
> de excel u office.
>
> Yo mismo realice en 1990 un ejercicio en Clipper, un lenguaje que
> trabajaba
> con bases de datos de tipo dbf y que esta discontinuado en estos momentos,
> que era una pequeña emulacion de Lotus 1-2-3 ( DOS ) y construia planillas
> Lotus 1-2-3 a partir de una base de datos o de las operaciones que
> realizaba
> un usuario. Lo hice con un pequeño grupo de funciones que definian y
> creaban
> un archivo de planilla de calculos, cargaban valores en celdas ( numeros,
> textos y formulas) y/o los leian.
>
> Desde ya el tipo de planilla que habia en esos años tien un aspecto
> absolutamente primitivo en relacion a la complejidad actual, pero tengo la
> creencia que debe haber alguna libreria utilizable que permita desde algun
> lenguaje construir worbooks y worksheets.
>
> Te mando saludos
>
> Leonardo
>
> "Francisco Parrilla" escribió:
>
>> Si lo que pretendes es abrir solo un archivo de texto mediante Vbasis es
>> posible hacerlo.
>>
>> Vba para aplicaciones es similar a Vbasic for Windows
>>
>> Saludos
>>
>> Francisco
>>
>>
>> "LZ" escribió en el mensaje
>> news:
>> > Hola foro,
>> >
>> > para efectuar la consulta, debo ejemplificar. Espero se entienda.
>> >
>> > El proceso completo que se desea ejecutar es el siguiente:
>> >
>> > 1. Procesos Batch, habitualmente nocturnos, se ejecutan en una
>> > plataforma
>> > no
>> > PC ( Unix, Mainframe UNISYS, Mainframe IBM).
>> >
>> > 2. Eventualmente, generan 2 archivos que se transfieren por FTP a PC
>> >
>> > 3. Esos archivos contienen:
>> > 3.1 Datos
>> > 3.2 Instrucciones para construir una planilla de calculos a partir
>> > de
>> > 3.1
>> >
>> > 4. Se arranca excel con una planilla que contiene una macro de
>> > autoejecucion
>> > que lee los Datos y las Instrucciones y construye la planilla
>> > correspondiente
>> > y finalmente cierra excel.
>> >
>> > 5. Se distribuye la planilla al usuario solicitante, copiandola en un
>> > folder
>> > especifico
>> >
>> > Se desea automatizar el proceso y que no haya participacion de operador
>> > humano.
>> >
>> > Las pruebas de 4. han sido correctas. La macro VBA funciona
>> > correctamente
>> > y
>> > genera la planilla.
>> >
>> > La consulta:
>> >
>> > La ejecucion del punto 4. tal como esta descripta, es la mas
>> > 'economica'.
>> > Como veran excel es utilizado 'simplemente' para la ejecucion de la
>> > macro.
>> > Por lo tanto pregunto, existe algun mecanismo por el cual pueda
>> > ejecutar
>> > la
>> > macro sin necesidad de 'levantar' excel ??
>> > Puedo construir a partir de la macro VBA un programa ejecutable ( EXE )
>> > que
>> > construya la planilla ??
>> >
>> > Agradezco respuestas y sugerencias.
>> >
>> > LZ
>>
>>
>>



Respuesta Responder a este mensaje
#8 Manuel Romero
30/03/2005 - 20:03 | Informe spam
Desde VB puedes usar cualquier macro de VBA siempre que obtengas el objeto
superior de la jerarquia (el objeto Application de la aplicacion servidor,
excel en este caso)

Para obtener el objeto application en VB, lo puedes hacer de dos formas:

1) Vinculacion tardia

Dim AppXL as Object
Set AppXL=CreateObject("Excel.Application")

Te recomiendo que invetigues ademas por la sentencia GetObject que usa una
instancia de excel si ya esta en ejecucion, en lugar de iniciar una nueva.

2) Vinculacion temprana

Ve a VB, menu Proyecto / Referencias y marca la casilla Microsoft Excel X.0
Object Library, donde X es la version que tengas instalada.

Dim AppXL as New Excel.Application

El uso de uno u otro metodo esta dado por las caracteristicas de tu proyecto
o, inclusive, por preferencias personales, ya por el metodo 1, no vas a
disponer del Intellisense de VB y usar variables tipo Object, es como usar
Variants (con todas sus implicaciones).

En ambos casos, terminas con una referencia al objeto Application, luego en
lugar de decir

Range("A1").Select ' en VBA

Debes decir

AppXL.ActiveSheet.Range("A1").Select ' en VB
AppXL.Range("A1").Select

Recuerda que por defecto Excel se inicia invisible, asi que deberias activar
esta sentencia (al menos durante depuracion)

AppXL.Visible=True

Y al terminar

AppXL.Quit
Set AppXL=Nothing

Para destruir el objeto y liberar la memoria


"LZ" escribió en el mensaje
news:
Sergio,

a partir de tu respuesta, comence a buscar en la Web, y encontre lo


siguiente

vba in vb application
thread707-303153
Forum Search FAQs Links Jobs

chopin33 (Programmer) 28 Jun 02 9:33
hello,
can I insert my vba code for excel into the code of a vb application if


I've
created an Excel sheet object in the vb code: Set ApExcel > CreateObject("Excel.sheet")?
Thanks!

Xian


Find A Job or Post a Job Opening Click Here.
uberpudge (TechnicalUser) 28 Jun 02 12:13
-
Hello Xian,

As long as you make your your VB project includes a reference to the
Microsoft Excel Object Library (Project -> References ->[Scroll down and
place a checkmark to Microsoft Excel {Version Number} Object Library]),


you
should be able to use the VBA Code with the Excel sheet.


Hope this helps,
Pete

-

Se desprende de la respuesta de Pete, que es posible ejecutar codigo VBA


en
VB.
No tengo forma de corroborar esto, no tengo instalado VB y estoy dando mis
primeros pasos en VBA. Pero de ser cierta la respuesta de Pete, tendria
resuelto mi tema.

Si tenes la posibilidad de probar esta posibilidad podrias hacerlo y
contarme como te fue ??

Gracias

Leonardo

"Sergio A Campos H" escribió:

> Que tal LZ ¡
>
> Encontré el siguiente truco de la página
> http://www.gamarod.com.ar/trucos/74.asp, en el que desde Visual Basic


for
> Windows, crea una sheet de Excel, quizás sea muy limitado, pero te da


pauta
> a que siguiendo el rumbo de VBA utilices el lenguaje del que proviene.
>
> Private Sub Command1_Click()
> Dim ApExcel As Variant
> Set ApExcel = CreateObject("Excel.application")
> ' Hace que Excel se vea
> ApExcel.Visible = True
> 'Agrega un nuevo Libro
> ApExcel.Workbooks.Add
> 'Poner Titulos
> ApExcel.cells(1, 1).Formula = "Titulo de la Aplicacion"
> ApExcel.cells(1, 1).Font.Size = 18
> ApExcel.cells(2, 2).Formula = "Debe"
> ApExcel.cells(2, 3).Formula = "Haber"
> ApExcel.cells(2, 4).Formula = "Saldo"
> ApExcel.cells(3, 2).Formula = 200
> ApExcel.cells(3, 3).Formula = 100
> ' Aplica Formula
> ApExcel.cells(3, 4).Formula = "³-C3"
> ' Hace una Seleccion de celdas y pone bordes de Color
> ApExcel.RANGE("B3:D3").BORDERS.COLOR = RGB(255, 0, 0)
> Set ApExcel = Nothing
> End Sub
>
> <!>
> Tec. Inf. Sergio A Campos H
>
> ¿¿ Deseas colaborar en mi sitio ??, entra y envíame tus sugerencias de
> contenido, ! se acepta de todo tipo !
> http://mx.geocities.com/sergioacamposh
> http://sergioacamposh.mundopc.net
> <!>
>
>
> "LZ" escribió en el mensaje
> news:
> > Hola Francisco,
> >
> > lo que realiza la macro es la creacion de una worksheet 'completa' a
> > partir
> > de un conjunto de datos extraidos de un sistema externo a la pc y de


un
> > segundo archivo que contiene un conjunto de instrucciones y que le


indican
> > a
> > la macro VBA que tipo de planilla hay que realizar, que formatos,


tablas
> > dinamicas, graficos, quien es el usuario, en que folder hay que salvar


la
> > planilla, etc, etc, etc. Es decir esa macro funciona como un


'constructor'
> > de
> > workbooks, que luego le seran enviadas a usuarios finales ( grabando


en el
> > folder correspondiente o enviandola por email).
> >
> > La pregunta seria, existe alguna posibilidad de crear workbooks excel,
> > fuera
> > de excel u office.
> >
> > Yo mismo realice en 1990 un ejercicio en Clipper, un lenguaje que
> > trabajaba
> > con bases de datos de tipo dbf y que esta discontinuado en estos


momentos,
> > que era una pequeña emulacion de Lotus 1-2-3 ( DOS ) y construia


planillas
> > Lotus 1-2-3 a partir de una base de datos o de las operaciones que
> > realizaba
> > un usuario. Lo hice con un pequeño grupo de funciones que definian y
> > creaban
> > un archivo de planilla de calculos, cargaban valores en celdas (


numeros,
> > textos y formulas) y/o los leian.
> >
> > Desde ya el tipo de planilla que habia en esos años tien un aspecto
> > absolutamente primitivo en relacion a la complejidad actual, pero


tengo la
> > creencia que debe haber alguna libreria utilizable que permita desde


algun
> > lenguaje construir worbooks y worksheets.
> >
> > Te mando saludos
> >
> > Leonardo
> >
> > "Francisco Parrilla" escribió:
> >
> >> Si lo que pretendes es abrir solo un archivo de texto mediante Vbasis


es
> >> posible hacerlo.
> >>
> >> Vba para aplicaciones es similar a Vbasic for Windows
> >>
> >> Saludos
> >>
> >> Francisco
> >>
> >>
> >> "LZ" escribió en el mensaje
> >> news:
> >> > Hola foro,
> >> >
> >> > para efectuar la consulta, debo ejemplificar. Espero se entienda.
> >> >
> >> > El proceso completo que se desea ejecutar es el siguiente:
> >> >
> >> > 1. Procesos Batch, habitualmente nocturnos, se ejecutan en una
> >> > plataforma
> >> > no
> >> > PC ( Unix, Mainframe UNISYS, Mainframe IBM).
> >> >
> >> > 2. Eventualmente, generan 2 archivos que se transfieren por FTP a


PC
> >> >
> >> > 3. Esos archivos contienen:
> >> > 3.1 Datos
> >> > 3.2 Instrucciones para construir una planilla de calculos a


partir
> >> > de
> >> > 3.1
> >> >
> >> > 4. Se arranca excel con una planilla que contiene una macro de
> >> > autoejecucion
> >> > que lee los Datos y las Instrucciones y construye la planilla
> >> > correspondiente
> >> > y finalmente cierra excel.
> >> >
> >> > 5. Se distribuye la planilla al usuario solicitante, copiandola en


un
> >> > folder
> >> > especifico
> >> >
> >> > Se desea automatizar el proceso y que no haya participacion de


operador
> >> > humano.
> >> >
> >> > Las pruebas de 4. han sido correctas. La macro VBA funciona
> >> > correctamente
> >> > y
> >> > genera la planilla.
> >> >
> >> > La consulta:
> >> >
> >> > La ejecucion del punto 4. tal como esta descripta, es la mas
> >> > 'economica'.
> >> > Como veran excel es utilizado 'simplemente' para la ejecucion de la
> >> > macro.
> >> > Por lo tanto pregunto, existe algun mecanismo por el cual pueda
> >> > ejecutar
> >> > la
> >> > macro sin necesidad de 'levantar' excel ??
> >> > Puedo construir a partir de la macro VBA un programa ejecutable (


EXE )
> >> > que
> >> > construya la planilla ??
> >> >
> >> > Agradezco respuestas y sugerencias.
> >> >
> >> > LZ
> >>
> >>
> >>
>
>
>
Respuesta Responder a este mensaje
#9 LZ
30/03/2005 - 21:37 | Informe spam
Gracias Manuel.

Saludos

LZ


"Manuel Romero" escribió:

Desde VB puedes usar cualquier macro de VBA siempre que obtengas el objeto
superior de la jerarquia (el objeto Application de la aplicacion servidor,
excel en este caso)

Para obtener el objeto application en VB, lo puedes hacer de dos formas:

1) Vinculacion tardia

Dim AppXL as Object
Set AppXL=CreateObject("Excel.Application")

Te recomiendo que invetigues ademas por la sentencia GetObject que usa una
instancia de excel si ya esta en ejecucion, en lugar de iniciar una nueva.

2) Vinculacion temprana

Ve a VB, menu Proyecto / Referencias y marca la casilla Microsoft Excel X.0
Object Library, donde X es la version que tengas instalada.

Dim AppXL as New Excel.Application

El uso de uno u otro metodo esta dado por las caracteristicas de tu proyecto
o, inclusive, por preferencias personales, ya por el metodo 1, no vas a
disponer del Intellisense de VB y usar variables tipo Object, es como usar
Variants (con todas sus implicaciones).

En ambos casos, terminas con una referencia al objeto Application, luego en
lugar de decir

Range("A1").Select ' en VBA

Debes decir

AppXL.ActiveSheet.Range("A1").Select ' en VB
AppXL.Range("A1").Select

Recuerda que por defecto Excel se inicia invisible, asi que deberias activar
esta sentencia (al menos durante depuracion)

AppXL.Visible=True

Y al terminar

AppXL.Quit
Set AppXL=Nothing

Para destruir el objeto y liberar la memoria


"LZ" escribió en el mensaje
news:
> Sergio,
>
> a partir de tu respuesta, comence a buscar en la Web, y encontre lo
siguiente
>
> vba in vb application
> thread707-303153
> Forum Search FAQs Links Jobs
>
> chopin33 (Programmer) 28 Jun 02 9:33
> hello,
> can I insert my vba code for excel into the code of a vb application if
I've
> created an Excel sheet object in the vb code: Set ApExcel > > CreateObject("Excel.sheet")?
> Thanks!
>
> Xian
>
>
> Find A Job or Post a Job Opening Click Here.
> uberpudge (TechnicalUser) 28 Jun 02 12:13
> -
> Hello Xian,
>
> As long as you make your your VB project includes a reference to the
> Microsoft Excel Object Library (Project -> References ->[Scroll down and
> place a checkmark to Microsoft Excel {Version Number} Object Library]),
you
> should be able to use the VBA Code with the Excel sheet.
>
>
> Hope this helps,
> Pete
>
> -
>
> Se desprende de la respuesta de Pete, que es posible ejecutar codigo VBA
en
> VB.
> No tengo forma de corroborar esto, no tengo instalado VB y estoy dando mis
> primeros pasos en VBA. Pero de ser cierta la respuesta de Pete, tendria
> resuelto mi tema.
>
> Si tenes la posibilidad de probar esta posibilidad podrias hacerlo y
> contarme como te fue ??
>
> Gracias
>
> Leonardo
>
> "Sergio A Campos H" escribió:
>
> > Que tal LZ ¡
> >
> > Encontré el siguiente truco de la página
> > http://www.gamarod.com.ar/trucos/74.asp, en el que desde Visual Basic
for
> > Windows, crea una sheet de Excel, quizás sea muy limitado, pero te da
pauta
> > a que siguiendo el rumbo de VBA utilices el lenguaje del que proviene.
> >
> > Private Sub Command1_Click()
> > Dim ApExcel As Variant
> > Set ApExcel = CreateObject("Excel.application")
> > ' Hace que Excel se vea
> > ApExcel.Visible = True
> > 'Agrega un nuevo Libro
> > ApExcel.Workbooks.Add
> > 'Poner Titulos
> > ApExcel.cells(1, 1).Formula = "Titulo de la Aplicacion"
> > ApExcel.cells(1, 1).Font.Size = 18
> > ApExcel.cells(2, 2).Formula = "Debe"
> > ApExcel.cells(2, 3).Formula = "Haber"
> > ApExcel.cells(2, 4).Formula = "Saldo"
> > ApExcel.cells(3, 2).Formula = 200
> > ApExcel.cells(3, 3).Formula = 100
> > ' Aplica Formula
> > ApExcel.cells(3, 4).Formula = "³-C3"
> > ' Hace una Seleccion de celdas y pone bordes de Color
> > ApExcel.RANGE("B3:D3").BORDERS.COLOR = RGB(255, 0, 0)
> > Set ApExcel = Nothing
> > End Sub
> >
> > <!>
> > Tec. Inf. Sergio A Campos H
> >
> > ¿¿ Deseas colaborar en mi sitio ??, entra y envíame tus sugerencias de
> > contenido, ! se acepta de todo tipo !
> > http://mx.geocities.com/sergioacamposh
> > http://sergioacamposh.mundopc.net
> > <!>
> >
> >
> > "LZ" escribió en el mensaje
> > news:
> > > Hola Francisco,
> > >
> > > lo que realiza la macro es la creacion de una worksheet 'completa' a
> > > partir
> > > de un conjunto de datos extraidos de un sistema externo a la pc y de
un
> > > segundo archivo que contiene un conjunto de instrucciones y que le
indican
> > > a
> > > la macro VBA que tipo de planilla hay que realizar, que formatos,
tablas
> > > dinamicas, graficos, quien es el usuario, en que folder hay que salvar
la
> > > planilla, etc, etc, etc. Es decir esa macro funciona como un
'constructor'
> > > de
> > > workbooks, que luego le seran enviadas a usuarios finales ( grabando
en el
> > > folder correspondiente o enviandola por email).
> > >
> > > La pregunta seria, existe alguna posibilidad de crear workbooks excel,
> > > fuera
> > > de excel u office.
> > >
> > > Yo mismo realice en 1990 un ejercicio en Clipper, un lenguaje que
> > > trabajaba
> > > con bases de datos de tipo dbf y que esta discontinuado en estos
momentos,
> > > que era una pequeña emulacion de Lotus 1-2-3 ( DOS ) y construia
planillas
> > > Lotus 1-2-3 a partir de una base de datos o de las operaciones que
> > > realizaba
> > > un usuario. Lo hice con un pequeño grupo de funciones que definian y
> > > creaban
> > > un archivo de planilla de calculos, cargaban valores en celdas (
numeros,
> > > textos y formulas) y/o los leian.
> > >
> > > Desde ya el tipo de planilla que habia en esos años tien un aspecto
> > > absolutamente primitivo en relacion a la complejidad actual, pero
tengo la
> > > creencia que debe haber alguna libreria utilizable que permita desde
algun
> > > lenguaje construir worbooks y worksheets.
> > >
> > > Te mando saludos
> > >
> > > Leonardo
> > >
> > > "Francisco Parrilla" escribió:
> > >
> > >> Si lo que pretendes es abrir solo un archivo de texto mediante Vbasis
es
> > >> posible hacerlo.
> > >>
> > >> Vba para aplicaciones es similar a Vbasic for Windows
> > >>
> > >> Saludos
> > >>
> > >> Francisco
> > >>
> > >>
> > >> "LZ" escribió en el mensaje
> > >> news:
> > >> > Hola foro,
> > >> >
> > >> > para efectuar la consulta, debo ejemplificar. Espero se entienda.
> > >> >
> > >> > El proceso completo que se desea ejecutar es el siguiente:
> > >> >
> > >> > 1. Procesos Batch, habitualmente nocturnos, se ejecutan en una
> > >> > plataforma
> > >> > no
> > >> > PC ( Unix, Mainframe UNISYS, Mainframe IBM).
> > >> >
> > >> > 2. Eventualmente, generan 2 archivos que se transfieren por FTP a
PC
> > >> >
> > >> > 3. Esos archivos contienen:
> > >> > 3.1 Datos
> > >> > 3.2 Instrucciones para construir una planilla de calculos a
partir
> > >> > de
> > >> > 3.1
> > >> >
> > >> > 4. Se arranca excel con una planilla que contiene una macro de
> > >> > autoejecucion
> > >> > que lee los Datos y las Instrucciones y construye la planilla
> > >> > correspondiente
> > >> > y finalmente cierra excel.
> > >> >
> > >> > 5. Se distribuye la planilla al usuario solicitante, copiandola en
un
> > >> > folder
> > >> > especifico
> > >> >
> > >> > Se desea automatizar el proceso y que no haya participacion de
operador
> > >> > humano.
> > >> >
> > >> > Las pruebas de 4. han sido correctas. La macro VBA funciona
> > >> > correctamente
> > >> > y
> > >> > genera la planilla.
> > >> >
> > >> > La consulta:
> > >> >
> > >> > La ejecucion del punto 4. tal como esta descripta, es la mas
> > >> > 'economica'.
> > >> > Como veran excel es utilizado 'simplemente' para la ejecucion de la
> > >> > macro.
> > >> > Por lo tanto pregunto, existe algun mecanismo por el cual pueda
> > >> > ejecutar
> > >> > la
> > >> > macro sin necesidad de 'levantar' excel ??
> > >> > Puedo construir a partir de la macro VBA un programa ejecutable (
EXE )
> > >> > que
> > >> > construya la planilla ??
> > >> >
> > >> > Agradezco respuestas y sugerencias.
> > >> >
> > >> > LZ
> > >>
> > >>
> > >>
> >
> >
> >



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida