Hombre, totalmente nuevo en Visual Basic aunque he programado bastante en VBA. El asunto es el siguiente: en un form tengo un textbox y un botón, necesito que al oprimir el botón, me abra una ventada de explorar (¿browsefolder?) Luego de que el usuario seleccione el folder me coloque la ruta seleccionada en el textbox, posteriormente necesito copiar la carpeta indicada con todo su contenido en un servidor, pero digamos que lo importante es lo primero.
Antes que nada, disculpa por la demora, pero he estado corto de tiempo estos días... Lo que debes usar es un control llamado CommonDialog CONTROL que no esta en la barra de controles en forma predeterminada, haz lo siguiente: Clic con el botón derecho en la barra de controles de formularios... componentes, en la lista que aparecerá seleccionas "Microsoft CommonDialog control 6.0". Luego lo agregas al formulario como cualquier control, solo que no puedes asignarle un tamaño. Es un control que no se ve en tiempo de ejecución hasta que no se lo convoca para su uso. Para usarlo como explorador de carpetas debes ejecutar la instrucción: CommonDialog1. ShowOpen Esto abre la ventana que buscas. Ahora bien, luego de la selección del archivo, puede suceder dos cosas, que se haya hecho clic en ACEPTAR o CANCECLAR. Luego de hacer clic en ACEPTAR, en la propiedad del control llamada FILETITLE estará el nombre del archivo seleccionado, pero solo el nombre, no la ruta de acceso. Si quieres la ruta de acceso con el nombre incluido, usa la propiedad FILENAME. Hay muchas cosas más a tener en cuenta. Por ejemplo, ve el siguiente código: Private Sub Command1_Click() CommonDialog1.ShowOpen Form1.Caption = CommonDialog1.FileName End Sub Acá, se verá la ruta con el nombre del archivo como titulo del formulario, pero si se hace clic en CANCELAR, también se ejecutará la mimsa instrucción, para lo cual no es lo correcto. Esto se corrige poniendo al principio una instrucción para capturar unn error (el que provoca el botón CANCELAR del la caja de dialogo), para que, al capturarlo, no se ejecuten las lineas que están inmediatamente después de "CommonDialog.ShowOpen". la intrtuccion completa quedaria asi: Private Sub Command1_Click() CommonDialog1.CancelError = True On Error GoTo ErrorCancelar CommonDialog1.ShowOpen Form1.Caption = CommonDialog1.FileName ErrorCancelar: If Err.Number = cdlCancel Then Exit Sub End Sub CdlCancel es el numero (creo que el 32536), de error que provoca el botón CANCELAR. De esta forma, si el usuario hacec clic en CANCELAR para cerrar la ventana de exploración sin elegir ningún archivo, la captura de error hace que el programa se ejecute en la linea "if err.nunmber..." y no ejecutaría la linea "Form1.Caption..." Espero que te sirva, de cualquier forma, este control también sirve para todas las ventanas del sistema que ves por ahí... Prueba con CommonDialog1. ShowPrinter CommonDialog1. ShowColor Ve la ayuda de VB que esta muy bien documentada para este control Suerte !
- Anónimoahora mismo
Respuesta de denciso
1
1
denciso, Soy una persona multifacética, tanto manejo la informática,...
Para eso requieres agregar un control llamado common dialog que te permite que el usuario seleccione directamente el directorio o carpeta y después tu puedes leer la ruta para que realices las operaciones que quieras, borrar archivos, copiar, crear etcétera, también es conveniente que agregues una referencia a microsoft scripting runtime para que manejes de forma cómoda los directorios. e-mail: [email protected]