Página de Inicio

LotusScript
Abrir Diálogo De Selección De Carpeta Desde Lotusscript

El recurso siguiente muestra como se pueden utilizar desde LotusScript funciones del sistema Windows
en concreto se detalla el proceso para poder utilizar el cuadro de diálogo "Seleccionar carpeta".

1. Paso: Crear una nueva biblioteca de Scripts llamada FuncionesSistema.
2. Paso: Situar el siguiente código en el apartado (Options):


      Option Public
      Option Declare
      %INCLUDE "LSCONST.LSS"
      Const BIF_RETURNONLYFSDIRS = 1
      Const BIF_DONTGOBELOWDOMAIN = 2
      Const MAX_PATH = 260

3. Paso: situar el siguiente código en el apartado (Declarations):

      Type BrowseInfo
      hWndOwner As Long
      pIDLRoot As Long
      pszDisplayName As Long
      lpszTitle As String
      ulFlags As Long
      lpfnCallback As Long
      lParam As Long
      iImage As Long
      End Type
      Declare Function SHBrowseForFolder Lib "shell32" Alias "SHBrowseForFolderA" ( lpbi As BrowseInfo ) As Long
      Declare Function SHGetPathFromIDList Lib "shell32" Alias "SHGetPathFromIDListA" ( Byval pidList As Long, Byval lpBuffer As String ) As Long
      Declare Function FindWindow95 Lib "user32" Alias "FindWindowA" ( Byval lpClassName As Any, Byval lpWindowName As Any ) As Long

4. Paso: Crear una nueva función llamada ElegirCarpeta con el siguiente código:

      Function ElegirCarpeta ( dialogPrompt As String ) As String
          Dim lpIDList As Long
          Dim sBuffer As String * 255
          Dim sReturnVal As String
          Dim szTitle As String
          Dim tBrowseInfo As BrowseInfo


          sBuffer = String ( Len ( sBuffer ) , Chr(0) )
          szTitle = dialogPrompt
          tBrowseInfo.hWndOwner = FindWindow95 ( "notes", &H0 )
          tBrowseInfo.lpszTitle = szTitle
          tBrowseInfo.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
          lpIDList = SHBrowseForFolder ( tBrowseInfo )


          If ( lpIDList ) Then
              SHGetPathFromIDList lpIDList, sBuffer
              ElegirCarpeta = Left ( sBuffer, Instr ( sBuffer, Chr(0) ) - 1)
          End If
      End Function

5. Paso: Ya podemos crear un botón de acción allí donde deseemos y hacer que ejecute la función anterior del siguiente modo (recordar añadir en las opciones globales Use "FuncionesSistema"):

      Sub Click(Source As Button)
          Dim workspace As New NotesUIWorkspace
          Dim doc As NotesDocument
          Dim folder As String

          folder = ElegirCarpeta ( "Seleccione una carpeta: " )

          msg = "La carpeta elegida es: " & Chr$(10) & Chr$(10) & folder
          Msgbox msg, MB_OK + MB_ICONINFORMATION, "Carpeta elegida"
      End Sub


Explicación:
En este ejemplo solamente visualizamos la carpeta elegida mediante un cuadro de mensajes. Lo normal sería que el valor devuelto por la función fuera utilizado para los fines que se deseen.
Existen otras funciones del sistema Windows que se pueden utilizar desde LotusScript: Abrir archivo, barra de progreso, cuadro de mensajes, etc. De todas formas en la versión 5 ya se han incorporado nuevos métodos en la librería de objetos LotusScript para poder realizar muchas de estas funciones.


Otros documentos de LotusScript

Extraer Anexos Y Guardar La Última Ruta (Environment)...(08/09/2008 17:35:41)

Tabla De Colores De Letras Cuando Exportamos A Ms Word...(08/09/2008 17:19:13)

Tabla De Colores De Texto Cuando Exportamos A Ms Excell...(08/09/2008 17:18:03)

Nuevo Tipo De Ejecución De Agentes En Lotus Domino R8...(05/09/2008 18:14:26)

Extraer Los Anexos De Cualquier Campo De Un Documento...(04/09/2008 13:39:53)

Exportar A Word 2 Foros(18/02/2008 16:28:50)

Combo Que Se Puede Desplegar (Nsf)(18/02/2008 16:28:50)

Sql Server 2000 Jdbc(18/02/2008 16:28:50)

Cuando El Usuario Entre A Su Buzon De Correo, Se Ejecute Un Proceso...(18/02/2008 16:28:50)

Busqueda De Todas Las Bbdd´S Que Hay En El Servidor. ...(18/02/2008 16:28:50)

Agente Buscar Repetidos(18/02/2008 16:28:50)

Unidades De Red (Fichero Lss)(18/02/2008 16:28:50)

Notes A Access Por Odbc(18/02/2008 16:28:50)

Extraer Informacion De Una Vista (Bd1) A Una Bd Diferentre (Bd2) Y Lle...(18/02/2008 16:28:50)

Envia Un Mail Con Un Fichero Anexado, Que Lo Va A Buscar A Donde Nosot...(18/02/2008 16:28:50)

Modificar Un Campo Comun En Un Conjunto De Formularios...(18/02/2008 16:28:50)

Envio Correo Anónimo(18/02/2008 16:28:50)

Crear Informes En Excel(18/02/2008 16:28:50)

Script De Seguridad (Fichero Lss)(18/02/2008 16:28:50)

Evitar Que Borren Documentos(18/02/2008 16:28:50)

Eliminar Documentos Respuesta Y Respuesta De Respuesta...(18/02/2008 16:28:50)

Como Ordenar Los Resultados De Una Búsqueda(18/02/2008 16:28:50)

Posibilidad De Que El Usuario Realice Una Búsqueda Con Diferentes Pará...(18/02/2008 16:28:50)

Ordenar Listas De Texto Y Numéricas En Lotusscript...(18/02/2008 16:28:50)

Otro Agente Que Puede Ser Interesante.(18/02/2008 16:28:50)

Enviar Un Correo Con Estilo De Párrafo(18/02/2008 16:28:50)

Numeración Automática De Documentos (Queryclose)(18/02/2008 16:28:50)

Exportar A Word Foros(18/02/2008 16:28:50)

Evitar Que Peguen Documentos (Ls)(18/02/2008 16:28:50)

Esto Es Un Codigo Para Acceder (Solamente) A Documentos Personales...(18/02/2008 16:28:49)

Mensaje,Progressbar Y Tokens (3 Ficheros Lss)(18/02/2008 16:28:49)

Exportación De Los Datos De Los Documentos De Una Vista A Un Fichero D...(18/02/2008 16:28:49)

Contestar A Tus Mails Sin Necesidad De Abrir El Propio Mensaje...(18/02/2008 16:28:49)

Abrir Diálogo De Selección De Carpeta Desde Lotusscript...(18/02/2008 16:28:49)

@Replacesubstring Con Lotus Script(18/02/2008 16:28:49)

Exportación A Word(18/02/2008 16:28:49)

Extraer Los Id Del Names Y Eliminarlos(18/02/2008 16:28:49)

Añadir Una Entrada Hijo A Una Entrada De Un Esquema (Outline) Existent...(18/02/2008 16:28:49)

Extraer Anexos Introducidos Desde Web En Un Agente...(18/02/2008 16:28:49)

Exportar Todos Los Anexos De Los Documentos Señalados En Una Vista (Pe...(18/02/2008 16:28:49)

Chequea Todas Las Bases De Datos Locales Y Compacta Aquellas Que Estan...(18/02/2008 16:28:49)

Ubicación Del Directorio Temporal Del Sistema Y Obtención De Un Nombre...(18/02/2008 16:28:49)

Código Para Pasar La Acl De Una Bbdd A Otra(18/02/2008 16:28:49)

Ejemplo Odbc, Conexion A Access(18/02/2008 16:28:49)

Cálculo Del Nif (Corto)(18/02/2008 16:28:49)

Exportar Datos Desde Una Vista A Un Fichero De Excel...(18/02/2008 16:28:49)

Coger Datos De Una Coleccion, Crear Un Documento Y Abrirlo (Charlee)...(18/02/2008 16:28:49)

Posibilidad De Ejecutar Agentes Del Servidor Desde Un Cliente, Pasándo...(18/02/2008 16:28:49)

Cálculo Nif (Largo)(18/02/2008 16:28:49)

Eliminar Una Entrada De Un Esquema (Outline) Existente....(18/02/2008 16:28:49)

Codigo Editar Y Guardar Todos Los Documentos De Una Bbdd...(18/02/2008 16:28:49)

Calculo Del Iva(18/02/2008 16:28:49)

Renombrar Una Vista. (18/02/2008 16:28:49)



Web Desarrollada por Juan Carlos Trigo Díaz
Optimizado para: 1024 x 768 pixels - Explorer > 6 Copyright © 2008