Que no se ejecute el auto run

19/11/2007 - 19:22 por daniel | Informe spam
Hola a todos
Se puede hacer lo siguiente.
1)Una macro que evite que se ejecute el auto run me refiero:
al de los CD los USB o cualquier otro dispositivo parecido.
2)que si se inserta un CD un USB o cualquier otro dispositivo
que se muestre un userform y en un label1 se muestre la letra de la unidad
Ejemplo:A: , C: ,D:
3)que al cerrar la aplicacion se vuelva a restablecer el auto run es decir
que vuelva a funcionar.



un saludo y muchas gracias a todos
Daniel

Preguntas similare

Leer las respuestas

#6 daniel
22/11/2007 - 19:50 | Informe spam
Hola Hector Miguel!
1)Gracias por el link hacia el programa
2)yo uso la version excel 2003.
3)a)necesito que el usuario al hacer click con el derecho en el WebBrowser
no se muestre el contenido del menu contextual
para que este no pueda haceder a las de dicho control.
b)que si al hacer click en un enlace este es para descargar un archivo que
no aparezca el cuadro de dialogo de descargar y que automaticamente escriba
la ruta
del archivo en un textbox1 y pulse un boton llamado comandbutondescargas
para poder descargar lo yo de otra manera diferente.

este puntos que vienen ahora son de otra cosa diferente.

4)No se si lo habre entendido vien o es que yo me e esplicado mal.
esto es lo que necesito de otra forma esplicado:
un userform(principal) que contiene un comandbutton1 y un listbox1.
un userform(secundario) que contiene un comandbutton2 este userform tiene la
propiedad showmodal en false.

al hacer click en el comandbutton1 del userform principal este me muestra el
userform secundario y en el listbox1 se añade el nombre del caption del
userform.
al pulsar el comandbutton2 del userform secundario este me crea una copia de
la ventana con la siguiente macro
Dim NuevaVentana As userform2
Private Sub CommandButton2_Click()
Set NuevaVentana = New userform2
NuevaVentana.Show 'lo hacemos visible
End Sub:
Ahora lo que necesito es que al crear esa nueva ventana me ponga un caption
diferente
ejemplo:en vez de userform2 que ponga ("ventana " + numero para
diferenciarla es decir que cada vez que habra una nueva ventana me valla
sumando 1)(ejemplos: ventana1,ventana2,...ventana50)
Este nombre del caption nuevo debe de poner se en el listbox1 del userform
principal.
Y que al hacer click en el listbox se habra la ventana que tiene ese
nombre(ejm:si en el listbox1 pone ventana5 pues que muestre la ventana en la
que pone en el caption ventana5)

Todo esto lo voy a usar para poder tener abiertas muchas ventanas que son
iguales pero con distinto contenido(base de datos).


un saludo y muchas gracias
Daniel

"Héctor Miguel" escribió en el mensaje
news:
hola, daniel !

1) no se si algun lenguaje de programacion (como VB-stand alone-) se pueda
obtener de manera gratuira -?-
prueba decargando la version express desde la siguiente pagina:
Visual Basic Express Edition
http://www.microsoft.com/spanish/ms...fault.mspx

2) los controles en VBA no exponen su manejador de ventana (hWnd), y
depende de la version de excel donde ejecutes el codigo
ademas de que se requiere buscar su numero de vantana por llamadas a
las API's de windows (p.e.)
la "clase" de objeto que se busca para un formulario es "ThunderDFrame"
a partir de excel 2000 o "ThunderXFrame" (xl 97)
y la llamada a las API's es la siguiente:

Private Declare Function BuscarVentana _
Lib "user32" Alias "FindWindowA" ( _
ByVal Clase As String, ByVal Ventana As String) As Long

despues utilizas (p.e.) el evento '_initialize' o el '_activate' del
formulario para establecer su "manejador" con algo +/- como:

Dim hWnd As Long
If Val(Application.Version) < 9 _
Then hWnd = BuscarVentana("ThunderXFrame", Me.Caption) _
Else hWnd = BuscarVentana("ThunderDFrame", Me.Caption)

luego de lo anterior, ya estas en condiciones de utilizar el
"identificador" (hWnd) aplicado a la ventana de tu formulario ;)

(nota): existen otros "terminos" de VB que requieren adaptaciones para
VBA en los codigos que comentas (pero)...
seria conveniente si expones cualquier adaptacion que tu les hubieras
ya efectuado -?-

3) el poner los dados de las paginas agregadas a un combo en tu
formulario, ya esta contemplado en el enlace de tu ejemplo:
revisa los procedimientos:
-> "Private Sub cboURL_KeyPress(KeyAscii As Integer)" y
-> "Private Sub AgregarURL(ByVal strURL As String)"

4) no me queda claro lo de crear una copia de un multipage SIN crear una
"nueva ventana" -???-

5) revisa propuestas en "el otro post" :))

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ la consulta original __
__ 1 __
Si lo que quiero +o- es camuflar windowsxp al usuario.
Pero bueno es una tarea un poco dificil a lo mejor me lo voy a pensar un
poco.
de donde podria conseguir el programa VisualBasic -stand alone- de forma
gratuita.


__ 2 __
Lo siento pero lo del error que me explicaste no lo encuentro podias
volver a decirme lo (el hWnd que te da problemas)
(y si no recuerdo mal... "esto" ya tambien te lo habia comentado en
ocasion anterior) -?-


__ 3 __
AHORA EL TEMA QUE MAS ME PREOCUPA ES LO SIGUIENTE:
perdon por poner lo en mayusculas es que es muy importante.
1) esto es de otra cosa tiene dos partes
a) como se puede hacer lo siguiente:
tengo un userform con un CommandButton4 el cual crea una ventana nueva.
lo que necesito es como poder poner en combobox1 los nombres de las
ventanasy poder seleccionar las poque
tengo que abrir muchas ventanas y quisiera ir rapidamente de una a otra
estaes la macro para crear la nueva ventana.
o poder seleccionar las con el caption si con el nombre no se puede.
Dim NuevaVentana As explorador
Private Sub CommandButton4_Click()
'Creamos una nueva instancia del navegador, es decir del formulario
Set NuevaVentana = New explorador
NuevaVentana.Show 'lo hacemos visible
End Sub


__ 4 __
b) poder crear una copia de una paguina de un multipage como lo anterior
pero sin crear una nueva ventana.
crear una paguina nueva en el multipage identica a la paguina1. parecido
a esto
http://www.recursosvisualbasic.com....n-tabs.htm


__ 5 __
2) y esto que e puesto en un post anterior al que no e tenido respuesta
creo q esta bien explicado no se.
tengo un listbox y el cual le relleno con datos mediante macros.
como puedo poner un boton para que me ponga a la derecha del todo una
columna
y en esta los numeros (1,2,3.) pero solo asta los que hay en la
propiedad (ListBox1.ListCount).
y que al seleccionar un dato del listbox1 en el label1 me de el numero y
en el label2 el dato de la columna2...




Respuesta Responder a este mensaje
#7 Héctor Miguel
23/11/2007 - 09:10 | Informe spam
hola, daniel !

1) prueba para ese (o esos) WebBrowser/s estableciendo en False la propiedad .Silent
(se espera que no se muestren dialogos auxiliares) -?-

2) usa el evento '_download' de ese (o esos) WebBrowser/s poniendo su Cancel = True
y mandas a otro procedimiento para la descarga "controlada"...
y/o rellenado del textbox1... y/o ejecutar el codigo (o el evento) del '_click' del boton

3) los userforms (secundarios) hasta n_~50... ya los tienes creados ? (o los piensas crear "al vuelo") ???
(creo que) la forma en que estas pensando "conttrolar" los formularios que se van abriendo no es "adecuada" -?-
(consulta en la ayuda en linea de vba por la coleccion de objetos "UserForms")

4) (dejame "insistir" en dos o tres cosas):
a) sigues "diversificando" los temas que tratas (y agregas) para una sola consulta (por si esperas propuestas "integrales") -?-
b) no se si ya probaste abriendo ~50 formularios (no modales) y el rendimiento de tu aplicacion sigue siendo "aceptable" -?-
(o que tan necesario/indispensable sea administrar ~50 "bases de datos" a traves de formularios) -?-
c) sigo creyendo que tu solo te estas complicando la programacion al proveerle al usuario controles "amigables"...
y luego (buscas la forma de) "recortarle" al usuario la interaccion (que se espera sea tambien amigable) -?-

(probablemente queden mas de dos "detalles en el tintero") pero...
por que no comentas que es lo que necesitas (realmente) programar/permitir/prohibir/... -???-

saludos,
hector.

__ 1 __
3) a) necesito que el usuario al hacer click con el derecho en el WebBrowser no se muestre el contenido del menu contextual
para que este no pueda haceder a las de dicho control.


__ 2 __
b) que si al hacer click en un enlace este es para descargar un archivo que no aparezca el cuadro de dialogo de descargar
y que automaticamente escriba la ruta del archivo en un textbox1 y pulse un boton llamado comandbutondescargas
para poder descargar lo yo de otra manera diferente.


__ 3 __
este puntos que vienen ahora son de otra cosa diferente.
4) No se si lo habre entendido vien o es que yo me e esplicado mal.esto es lo que necesito de otra forma esplicado:
un userform (principal) que contiene un comandbutton1 y un listbox1.
un userform (secundario) que contiene un comandbutton2 este userform tiene la propiedad showmodal en false.
al hacer click en el comandbutton1 del userform principal este me muestra el userform secundario
y en el listbox1 se anade el nombre del caption del userform.
al pulsar el comandbutton2 del userform secundario este me crea una copia de la ventana con la siguiente macro
Dim NuevaVentana As userform2
Private Sub CommandButton2_Click()
Set NuevaVentana = New userform2
NuevaVentana.Show 'lo hacemos visible
End Sub:
Ahora lo que necesito es que al crear esa nueva ventana me ponga un caption diferente
ejemplo:en vez de userform2 que ponga ("ventana " + numero para diferenciarla es decir que cada vez que habra una nueva ventana
me valla sumando 1) (ejemplos: ventana1, ventana2,...ventana50)
Este nombre del caption nuevo debe de poner se en el listbox1 del userform principal.
Y que al hacer click en el listbox se habra la ventana que tiene ese nombre (ejm:si en el listbox1 pone ventana5
pues que muestre la ventana en la que pone en el caption ventana5)


__ 4 __
Todo esto lo voy a usar para poder tener abiertas muchas ventanas que son iguales pero con distinto contenido (base de datos).
Respuesta Responder a este mensaje
#8 daniel
26/11/2007 - 19:17 | Informe spam
Hola Hector Miguel
1)no me funciona la siguiente propuesta.en el formulario siempre esta en
false y si lo intento cambiar a false/true se vuelve a poner en false
tambien e probado a poner le en el evento activate pero nada
WebBrowser.Silent = False
prueba para ese (o esos) WebBrowser/s estableciendo en False la propiedad
.Silent
(se espera que no se muestren dialogos auxiliares) -?-


2)Me podrias ayudar con lo de descarga para que no aparezca el cuadro de
dialogo y que se descarge de mi forma.
Esta es la forma que yo utilizo para descargar el archivo:
'-
Option Explicit

Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String,
ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long)
As Long

Public Function DownloadFromUrl(strFullUrl As String, _
strSaveFile As String) As Boolean

Dim RetVal As Long

RetVal = URLDownloadToFile(0,
"http://www.contextures.com/datavali...zip", _
"C:\Documents and
Settings\DANIEL\Escritorio\office\datavalinputmsgalt.zip", 0, 0)
If RetVal = 0 Then
DownloadFromUrl = True
End If
End Function
Sub Prueba()
Dim x As String
If
DownloadFromUrl("http://www.contextures.com/datavali...zip", x) Then
MsgBox "Ok ...Descarga exitosa"
Else
MsgBox "Imposible ..., intentolo en otro momento "
End If
End Sub
3)los userform los voy a crear al vuelo.
Yo habia pensado en una macro parecida a esta pero en vez de cerrar la
mostrase la ventana pero no se como modificar la.
Es muy importante de que sea de esta forma creando los al vuelo.

Private Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long

Const SW_SHOWNORMAL = 1
Const WM_CLOSE = &H10

Private Sub CommandButton1_Click()
Dim WinWnd As Long, Ret As String

Ret = InputBox("Introduce tà­tulo de ventana a cerrar" _
+ Chr$(13) + Chr$(10) + _
"Nota: Debe ser el tà­tulo exacto")

WinWnd = FindWindow(vbNullString, Ret)

If WinWnd = 0 Then
MsgBox "No se encontró esa cochinada...", _
vbCritical, "Error"
Exit Sub
End If

PostMessage WinWnd, WM_CLOSE, 0&, 0&
End Sub

Private Sub UserForm_Click()

End Sub

un saludo y muchas gracias
Daniel


"Héctor Miguel" escribió en el mensaje
news:%
hola, daniel !

1) prueba para ese (o esos) WebBrowser/s estableciendo en False la
propiedad .Silent
(se espera que no se muestren dialogos auxiliares) -?-

2) usa el evento '_download' de ese (o esos) WebBrowser/s poniendo su
Cancel = True
y mandas a otro procedimiento para la descarga "controlada"...
y/o rellenado del textbox1... y/o ejecutar el codigo (o el evento) del
'_click' del boton

3) los userforms (secundarios) hasta n_~50... ya los tienes creados ? (o
los piensas crear "al vuelo") ???
(creo que) la forma en que estas pensando "conttrolar" los formularios
que se van abriendo no es "adecuada" -?-
(consulta en la ayuda en linea de vba por la coleccion de objetos
"UserForms")

4) (dejame "insistir" en dos o tres cosas):
a) sigues "diversificando" los temas que tratas (y agregas) para una
sola consulta (por si esperas propuestas "integrales") -?-
b) no se si ya probaste abriendo ~50 formularios (no modales) y el
rendimiento de tu aplicacion sigue siendo "aceptable" -?-
(o que tan necesario/indispensable sea administrar ~50 "bases de
datos" a traves de formularios) -?-
c) sigo creyendo que tu solo te estas complicando la programacion al
proveerle al usuario controles "amigables"...
y luego (buscas la forma de) "recortarle" al usuario la interaccion
(que se espera sea tambien amigable) -?-

(probablemente queden mas de dos "detalles en el tintero") pero...
por que no comentas que es lo que necesitas (realmente)
programar/permitir/prohibir/... -???-

saludos,
hector.

__ 1 __
3) a) necesito que el usuario al hacer click con el derecho en el
WebBrowser no se muestre el contenido del menu contextual
para que este no pueda haceder a las de dicho control.


__ 2 __
b) que si al hacer click en un enlace este es para descargar un archivo
que no aparezca el cuadro de dialogo de descargar
y que automaticamente escriba la ruta del archivo en un textbox1 y pulse
un boton llamado comandbutondescargas
para poder descargar lo yo de otra manera diferente.


__ 3 __
este puntos que vienen ahora son de otra cosa diferente.
4) No se si lo habre entendido vien o es que yo me e esplicado mal.esto
es lo que necesito de otra forma esplicado:
un userform (principal) que contiene un comandbutton1 y un listbox1.
un userform (secundario) que contiene un comandbutton2 este userform
tiene la propiedad showmodal en false.
al hacer click en el comandbutton1 del userform principal este me muestra
el userform secundario
y en el listbox1 se anade el nombre del caption del userform.
al pulsar el comandbutton2 del userform secundario este me crea una copia
de la ventana con la siguiente macro
Dim NuevaVentana As userform2
Private Sub CommandButton2_Click()
Set NuevaVentana = New userform2
NuevaVentana.Show 'lo hacemos visible
End Sub:
Ahora lo que necesito es que al crear esa nueva ventana me ponga un
caption diferente
ejemplo:en vez de userform2 que ponga ("ventana " + numero para
diferenciarla es decir que cada vez que habra una nueva ventana
me valla sumando 1) (ejemplos: ventana1, ventana2,...ventana50)
Este nombre del caption nuevo debe de poner se en el listbox1 del
userform principal.
Y que al hacer click en el listbox se habra la ventana que tiene ese
nombre (ejm:si en el listbox1 pone ventana5
pues que muestre la ventana en la que pone en el caption ventana5)


__ 4 __
Todo esto lo voy a usar para poder tener abiertas muchas ventanas que son
iguales pero con distinto contenido (base de datos).




Respuesta Responder a este mensaje
#9 Héctor Miguel
29/11/2007 - 05:56 | Informe spam
hola, daniel !

me da la impresion de que la "sencillez" de los (pocos) codigos que expones en cada consulta...
(en la realidad) son un poco/mucho menos sencillos (por lo que a su alcance podrian referirse) -?-
(no resulta facil apreciar cualquier inter-relacion con otros procedimientos de tu proyecto "integral")

(creo que) es tiempo de que "subas" tu/s archivo/s con ejemplos e instrucciones (lo mas claro posible)
-> en algun sitio de hospedaje (y a traves de una nueva consulta) para que esten a disposicion de todo el foro
(ademas) con este procedimiento te seguras una mayor proporcion de participantes/propuestas/alternativas/...

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