APIs

29/05/2007 - 04:43 por Orfao | Informe spam
Hola... Podria alguien indicarme donde conseguir informacion acerca de las
funciones API.. es decir... Un listado completo de todas las funciones y su
descripcion y/o uso (parametros, propiedades, etc) )para poder implementar
alguna de ellas en VBA excel.
Deseo crear una especie de biblioteca con esas funciones -para por ej.
buscar archivos, abrirlos, editarlos, eliminarlos, moverlos, crear
directorios, aplicar sonidos , identiificar disco duro, usuario, leer DVD,
CD, abrir calculadora, reloj, etc, etc, etc, y/o cualquier cosa que se pueda
hacer desde excel...
MUUUUchas GRACiAS...
Me alimento del conocimiento de todos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
29/05/2007 - 05:09 | Informe spam
hola, moises !

... donde conseguir informacion acerca de las funciones API.. es decir
... Un listado completo de todas las funciones y su descripcion y/o uso (parametros, propiedades, etc)
para poder implementar alguna de ellas en VBA excel.
Deseo crear una especie de biblioteca con esas funciones -para por ej.
buscar archivos, abrirlos, editarlos, eliminarlos, moverlos, crear directorios, aplicar sonidos, identiificar disco duro, usuario
leer DVD, CD, abrir calculadora, reloj, etc, etc, etc, y/o cualquier cosa que se pueda hacer desde excel...
MUUUUchas GRACiAS...



1) si *solamente* vas a necesitar -> "... implementar alguna de ellas en VBA ..."
no creo *necesario* obtener -> "... Un listado completo de todas las funciones y su descripcion y/o uso ..."

2) las API's son *puntos de entrada* a funciones internas que se encuentran en las librerias de aplicaciones windows:
.DLL .EXE .OCX [etc. etc. etc.] y pueden ser llamadas para interactuar con las dichas aplicaciones [pero]...
cada aplicacion/libreria/... [creo que] contiene mas funciones que las que se han llegado a *difundir* :))

3) algunos sitios [y solo por mencionas algunos], busca las secciones con API's de...
-> [KPD Team] http://allapi.mentalis.org/apilist/apilist.php
-> [Randy Birch] http://vbnet.mvps.org/index.html
-> [el Guille] http://www.elguille.info/
[etc. etc. etc.] :))

saludos,
hector.
Respuesta Responder a este mensaje
#2 Orfao
29/05/2007 - 06:19 | Informe spam
Gracias Miguuel... Me parece muy interesante.
Les eche un vistaso a esos links por encimita y efectivamente era lo que
buscaba
pero... el/los codigos que aparecen se refieren a VB6 o VB4 y/u otros (
y en VBA, Como lo programo ? Cual es la Difernecia ? ...) tal vez con un
ejemplo lo entienda..
Gracias..
Me alimento del conocimiento de todos


"Héctor Miguel" wrote:

hola, moises !

> ... donde conseguir informacion acerca de las funciones API.. es decir
> ... Un listado completo de todas las funciones y su descripcion y/o uso (parametros, propiedades, etc)
> para poder implementar alguna de ellas en VBA excel.
> Deseo crear una especie de biblioteca con esas funciones -para por ej.
> buscar archivos, abrirlos, editarlos, eliminarlos, moverlos, crear directorios, aplicar sonidos, identiificar disco duro, usuario
> leer DVD, CD, abrir calculadora, reloj, etc, etc, etc, y/o cualquier cosa que se pueda hacer desde excel...
> MUUUUchas GRACiAS...

1) si *solamente* vas a necesitar -> "... implementar alguna de ellas en VBA ..."
no creo *necesario* obtener -> "... Un listado completo de todas las funciones y su descripcion y/o uso ..."

2) las API's son *puntos de entrada* a funciones internas que se encuentran en las librerias de aplicaciones windows:
.DLL .EXE .OCX [etc. etc. etc.] y pueden ser llamadas para interactuar con las dichas aplicaciones [pero]...
cada aplicacion/libreria/... [creo que] contiene mas funciones que las que se han llegado a *difundir* :))

3) algunos sitios [y solo por mencionas algunos], busca las secciones con API's de...
-> [KPD Team] http://allapi.mentalis.org/apilist/apilist.php
-> [Randy Birch] http://vbnet.mvps.org/index.html
-> [el Guille] http://www.elguille.info/
[etc. etc. etc.] :))

saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
29/05/2007 - 06:35 | Informe spam
hola, moises !

Les eche un vistaso a esos links por encimita y efectivamente era lo que buscaba
pero... el/los codigos que aparecen se refieren a VB6 o VB4 y/u otros (
y en VBA, Como lo programo ? Cual es la Difernecia ? ...) tal vez con un ejemplo lo entienda...



aunque la exposicion de los ejemplos en dichas paginas puediera parecer *intimidante* -?-
considera que VBA es un sub-conjunto de VB6 [a partir de office 2000 o VB5 en la version '97]
-> *recortadita*... pero operativamente *funcional* por lo cual...
las llamadas a las API's [Declare Function..] y las constantes son y se usan igual que en VB6/5
-> lo que pudiera *hacer la diferencia*, son los objetos y sus eventos utilizados en los ejemplos de las paginas
[p.e.] tendrias que adaptar controles y eventos de VB6 por controles de VBA [en formularios y/o incrustados en hojas]

haz algunas pruebas, y... si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 ST
31/05/2007 - 22:35 | Informe spam
On 28 mayo, 23:35, "Héctor Miguel"
wrote:
hola, moises !

> Les eche un vistaso a esos links por encimita y efectivamente era lo que buscaba
> pero... el/los codigos que aparecen se refieren a VB6 o VB4 y/u otros (
> y en VBA, Como lo programo ? Cual es la Difernecia ? ...) tal vez con un ejemplo lo entienda...

aunque la exposicion de los ejemplos en dichas paginas puediera parecer *intimidante* -?-
considera que VBA es un sub-conjunto de VB6 [a partir de office 2000 o VB5 en la version '97]
-> *recortadita*... pero operativamente *funcional* por lo cual...
las llamadas a las API's [Declare Function..] y las constantes son y se usan igual que en VB6/5
-> lo que pudiera *hacer la diferencia*, son los objetos y sus eventos utilizados en los ejemplos de las paginas
[p.e.] tendrias que adaptar controles y eventos de VB6 por controles de VBA [en formularios y/o incrustados en hojas]

haz algunas pruebas, y... si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.




Hola Hector Miguel:
navegando por los mares de la web obtuve en esta direccion:
http://www.cpearson.com/excel/clipboard.htm [ejemplo al final] ; el
codigo para vaciar el portapapeles de office,hasta ahi todo bien :-)
al ejecutar el codigo me percato de que efectivamente ya no se puede
pegar nada con Ctrl+v ;ni con el boton 'pegar' de excel.

El problema.-si activo/muestro el portapapeles de Office ahi se puede
ver lo que se ha copiado hasta 24 elementos,mismos que se pueden
volver a pegar :-(( y nulificar la macro que maneja las apis para
vaciar el portapapeles.[ver el ejemplo al final del link citado
arriba]

Mi Intencion.-Eliminar/vaciar el contenido del Portapapeles de Office
ya que aunque ejecute la macro para vaciar el portapapeles,si lo
muestro,bastaria con seleccionar cualquiera de los elementos
disponibles para pegar nuevamente la informacion

buscando como quitar/eliminar *visualmente* el contenido del
portapapeles , encontre alguna informacion que me permitio armar la
sigiente macro:

Sub remover()
OpenClipboard 0&
ChangeClipboardChain GetClipboardOwner, GetClipboardViewer
'ChangeClipboardChain GetClipboardOwner, GetClipboardViewer,
PostQuitMessage(0), break
CloseClipboard
End Sub

esto lo obtuve consultando:
http://msdn2.microsoft.com/en-us/li...49034.aspx
http://msdn2.microsoft.com/en-us/li...ewer_Chain

el error que me marca es la insuficiencia de argumentos de la api
'ChangeClipboardChain' ;lo que no he podido concretar por mi precario
conocimiento del Ingles y en general de VBasic. y VBA
segun entiendo [muy mal por cierto :-(( ,ya que no doy con bola] el
portapapeles funciona como una especie de contendor que almacena otras
pequeñas *ventanas'* ,que son la informacion que fue copiada,el asunto
es como *quitar* esa cadena de *ventanitas*
seguramente estare cometiendo una serie de torpezas en el manejo de
la Api`s.

salu2
Respuesta Responder a este mensaje
#5 Héctor Miguel
01/06/2007 - 09:32 | Informe spam
hola, (...) ?

navegando por los mares de la web obtuve en esta direccion: http://www.cpearson.com/excel/clipboard.htm
[ejemplo al final]; el para vaciar el portapapeles de office, hasta ahi todo bien :-)
al ejecutar el codigo me percato de que efectivamente ya no se puede pegar nada con Ctrl+v; ni con el boton 'pegar' de excel.
El problema. -si activo/muestro el portapapeles de Office ahi se puede ver lo que se ha copiado hasta 24 elementos
mismos que se pueden volver a pegar :-(( y nulificar la macro que maneja las apis para vaciar el portapapeles.
[ver el ejemplo al final del link citado arriba]
Mi Intencion. -Eliminar/vaciar el contenido del Portapapeles de Office ya que aunque ejecute la macro para vaciar el portapapeles
si lo muestro, bastaria con seleccionar cualquiera de los elementos disponibles para pegar nuevamente la informacion [...]



1) toma en cuenta que estamos hablando de dos 'portapapeles' distintos...
a) el portapapeles de windows [al que se hace referencia en -todas- las paginas que mencionas]
b) el portapapeles de office
b.1) aparece en la version 2000 como 'barra de herramientas'
b.2) a partir de la version 2002, se 'mueve' al 'panel de tareas'

2) para 'limpiar' los portapapeles [el de windows y el de office]...

a) el de windows: existen formas menos 'desgastantes' para limpiar su contenido que el uso de las API's [p.e.]
una macro con dos 'simples' instrucciones +/- como las siguientes:
Cells.Find(Empty).Copy
Application.CutCopyMode = False

b) el de office, partiendo de la version 2000...

b.1) siendo una barra de herramientas: -> Application.CommandBars("clipboard")
- puedes ocultarla, des/re/habilitarla/... [etc. etc. etc.]
- puedes administrar el control que vacia su contenido [p.e.]
-> CommandBars.FindControl(ID:634).Execute
- puedes evitar que auto-aparezca modificando el registro de windows:
-> revisa el siguiente articulo:
"... evitar... Portapapeles de Office aparezca... en cualquier programa de Office 2000"
http://support.microsoft.com/kb/207438
-> incluso, puedes intentar cambiando la secuencia del registro: \9.0\ correspondiente a la version 2000
por otras versiones: \10.0\ [office 2002/xp] \11.0\ [office 2003] :))

b.2) habiendose 'movido' el portapapeles al panel de tareas... no expone su modelo de objetos para VBA :-((
lo mas *cercano* que he visto para vaciar su contenido...
es una propuesta [en frances] que puedes consultar de las siguientes conversaciones:
-> conversacion 6 de Michael Pierron: -> http://tinyurl.com/2j8y4x

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida