&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v9r12 &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure /*------------------------------------------------------------------------ File : Purpose : Syntax : Description : Author(s) : Created : Notes : ----------------------------------------------------------------------*/ /* This .W file was created with the Progress AppBuilder. */ /*----------------------------------------------------------------------*/ /* ---------- Globale Variablen ---------------------------------- */ /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE Procedure &Scoped-define DB-AWARE no /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* ************************ Function Prototypes ********************** */ &IF DEFINED(EXCLUDE-CREATEEXCEL) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD CREATEEXCEL Procedure FUNCTION CREATEEXCEL RETURNS COMPONENT-HANDLE ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-CREATEWORD) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD CREATEWORD Procedure FUNCTION CREATEWORD RETURNS COMPONENT-HANDLE ( /* parameter-definitions */ ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-RELEASEEXCEL) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD RELEASEEXCEL Procedure FUNCTION RELEASEEXCEL RETURNS CHARACTER ( excelAppl AS COMPONENT-HANDLE ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-RELEASEWORD) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD RELEASEWORD Procedure FUNCTION RELEASEWORD RETURNS CHARACTER ( wordAppl AS COMPONENT-HANDLE ) FORWARD. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: Procedure Allow: Frames: 0 Add Fields to: Neither Other Settings: CODE-ONLY COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW /* DESIGN Window definition (used by the UIB) CREATE WINDOW Procedure ASSIGN HEIGHT = 15 WIDTH = 60. /* END WINDOW DEFINITION */ */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure /* *************************** Main Block *************************** */ PROCEDURE ShellExecuteA EXTERNAL "shell32.dll": DEFINE INPUT PARAMETER hwnd AS LONG. /* Handle to parent window */ DEFINE INPUT PARAMETER lpOperation AS CHARACTER. /* Operation to perform: open, print */ DEFINE INPUT PARAMETER lpFile AS CHARACTER. /* Document or executable name */ DEFINE INPUT PARAMETER lpParameters AS CHARACTER. /* Command line parameters to executable in lpFile */ DEFINE INPUT PARAMETER lpDirectory AS CHARACTER. /* Default directory */ DEFINE INPUT PARAMETER nShowCmd AS LONG. /* whether shown when opened: 0 hidden, 1 normal, minimized 2, maximized 3, 0 if lpFile is a document */ DEFINE RETURN PARAMETER hInstance AS LONG. /* Less than or equal to 32 */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &IF DEFINED(EXCLUDE-CREATEDATEI) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CREATEDATEI Procedure PROCEDURE CREATEDATEI : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ /* Parameter 1 = DateiName 2 = Vorlage 3 = Pfad der Datei */ DEFINE INPUT PARAMETER ipParam AS CHARACTER NO-UNDO. DEFINE VARIABLE DateiName AS CHARACTER NO-UNDO. DEFINE VARIABLE Vorlage AS CHARACTER NO-UNDO. DEFINE VARIABLE Pfad AS CHARACTER NO-UNDO. DEFINE VARIABLE Laenge AS INTEGER NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE Ja AS LOG NO-UNDO. DateiName = ''. Vorlage = ''. Pfad = ''. IF NUM-ENTRIES(ipParam, CHR(01)) = 0 THEN RETURN 'ERROR-PARAMETER'. IF NUM-ENTRIES(ipParam, CHR(01)) > 0 THEN DateiName = ENTRY(1, ipParam, CHR(01)). IF NUM-ENTRIES(ipParam, CHR(01)) > 1 THEN Vorlage = ENTRY(2, ipParam, CHR(01)). IF NUM-ENTRIES(ipParam, CHR(01)) > 2 THEN Pfad = ENTRY(3, ipParam, CHR(01)). IF DateiName = '' THEN RETURN 'ERROR-PARAMETER'. IF Pfad = '' THEN DO: Pfad = SESSION:TEMP-DIR. END. Laenge = LENGTH(Pfad). DO WHILE TRUE: IF SUBSTRING(Pfad,Laenge,01) = '/' THEN LEAVE. IF SUBSTRING(Pfad,Laenge,01) = '\' THEN LEAVE. Pfad = Pfad + '\'. LEAVE. END. DateiName = Pfad + DateiName. DO WHILE TRUE: IF SEARCH(DateiName) = ? THEN LEAVE. FILE-INFO:FILE-NAME = DateiName. DateiName = FILE-INFO:FULL-PATHNAME. ERROR-STATUS:ERROR = FALSE. OS-DELETE VALUE(DateiName) NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: Ja = TRUE. MESSAGE 'Datei ' DateiName ' ist im Zugriff ' SKIP 'und kann nicht gelöscht werden ! ' VIEW-AS ALERT-BOX INFORMATION BUTTONS RETRY-CANCEL UPDATE Ja. IF Ja THEN NEXT. RETURN 'ERROR-LOESCHEN'. END. LEAVE. END. DO WHILE TRUE: IF Vorlage = '' THEN LEAVE. IF SEARCH(Vorlage) <> ? THEN DO: Vorlage = SEARCH(Vorlage). FILE-INFO:FILE-NAME = Vorlage. Vorlage = FILE-INFO:FULL-PATHNAME. LEAVE. END. cString = ''. Laenge = LENGTH(Vorlage). DO ix = Laenge TO 1 BY -1: IF SUBSTRING(Vorlage,ix,01) = '/' THEN LEAVE. IF SUBSTRING(Vorlage,ix,01) = '\' THEN LEAVE. cString = SUBSTRING(Vorlage,ix,01) + cString. END. Vorlage = 'Vorlagen\' + cString. IF SEARCH(Vorlage) <> ? THEN DO: Vorlage = SEARCH(Vorlage). FILE-INFO:FILE-NAME = Vorlage. Vorlage = FILE-INFO:FULL-PATHNAME. LEAVE. END. Vorlage = 'WordVorlagen\' + cString. IF SEARCH(Vorlage) <> ? THEN DO: Vorlage = SEARCH(Vorlage). FILE-INFO:FILE-NAME = Vorlage. Vorlage = FILE-INFO:FULL-PATHNAME. LEAVE. END. Vorlage = 'ExcelVorlagen\' + cString. IF SEARCH(Vorlage) <> ? THEN DO: Vorlage = SEARCH(Vorlage). FILE-INFO:FILE-NAME = Vorlage. Vorlage = FILE-INFO:FULL-PATHNAME. LEAVE. END. RETURN 'ERROR-VORLAGE'. END. IF Vorlage <> '' THEN OS-COPY VALUE(Vorlage) VALUE(DateiName). ELSE DO: OUTPUT TO VALUE(DateiName). OUTPUT CLOSE. END. RETURN DateiName. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-OPENEXCEL) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENEXCEL Procedure PROCEDURE OPENEXCEL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER excelAppl AS COMPONENT-HANDLE NO-UNDO. DEFINE INPUT PARAMETER VDateiName AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER VMakro AS CHARACTER NO-UNDO. DEFINE OUTPUT PARAMETER io AS LOG NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE Laenge AS INTEGER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE ReadOnly AS LOG NO-UNDO. DO WHILE TRUE: IF VDateiName = '' THEN DO: io = FALSE. RETURN. END. IF SEARCH(VDateiName) <> ? THEN DO: VDateiName = SEARCH(VDateiName). LEAVE. END. cString = ''. Laenge = LENGTH(VDateiName). DO ix = Laenge TO 1 BY -1: IF SUBSTRING(VDateiName,ix,01) = '/' THEN LEAVE. IF SUBSTRING(VDateiName,ix,01) = '\' THEN LEAVE. cString = SUBSTRING(VDateiName,ix,01) + cString. END. VDateiName = 'Vorlagen\' + cString. IF SEARCH(VDateiName) <> ? THEN DO: VDateiName = SEARCH(VDateiName). LEAVE. END. VDateiName = 'WordVorlagen\' + cString. IF SEARCH(VDateiName) <> ? THEN DO: VDateiName = SEARCH(VDateiName). LEAVE. END. VDateiName = 'ExcelVorlagen\' + cString. IF SEARCH(VDateiName) <> ? THEN DO: VDateiName = SEARCH(VDateiName). LEAVE. END. io = FALSE. RETURN. END. FILE-INFO:FILE-NAME = VDateiName. VDateiName = FILE-INFO:FULL-PATHNAME. IF INDEX(VDateiName, 'Vorlage') > 0 THEN ReadOnly = TRUE. ELSE ReadOnly = FALSE. io = excelAppl:Workbooks:Open(VDateiName, 0, ReadOnly) NO-ERROR. IF NOT io THEN RETURN. IF VMakro = '' THEN RETURN. io = excelAppl:APPLICATION:RUN(VMakro). RETURN. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-OPENWORD) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OPENWORD Procedure PROCEDURE OPENWORD : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER wordAppl AS COMPONENT-HANDLE NO-UNDO. DEFINE INPUT PARAMETER VDateiName AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER VMakro AS CHARACTER NO-UNDO. DEFINE OUTPUT PARAMETER io AS LOG NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE Laenge AS INTEGER NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE ReadOnly AS LOG NO-UNDO. DO WHILE TRUE: IF VDateiName = '' THEN DO: io = FALSE. RETURN. END. IF SEARCH(VDateiName) <> ? THEN DO: VDateiName = SEARCH(VDateiName). LEAVE. END. cString = ''. Laenge = LENGTH(VDateiName). DO ix = Laenge TO 1 BY -1: IF SUBSTRING(VDateiName,ix,01) = '/' THEN LEAVE. IF SUBSTRING(VDateiName,ix,01) = '\' THEN LEAVE. cString = SUBSTRING(VDateiName,ix,01) + cString. END. VDateiName = 'Vorlagen\' + cString. IF SEARCH(VDateiName) <> ? THEN DO: VDateiName = SEARCH(VDateiName). LEAVE. END. VDateiName = 'WordVorlagen\' + cString. IF SEARCH(VDateiName) <> ? THEN DO: VDateiName = SEARCH(VDateiName). LEAVE. END. VDateiName = 'ExcelVorlagen\' + cString. IF SEARCH(VDateiName) <> ? THEN DO: VDateiName = SEARCH(VDateiName). LEAVE. END. io = FALSE. RETURN. END. FILE-INFO:FILE-NAME = VDateiName. VDateiName = FILE-INFO:FULL-PATHNAME. IF INDEX(VDateiName, 'Vorlage') > 0 THEN ReadOnly = TRUE. ELSE ReadOnly = FALSE. io = wordAppl:Documents:Open(VDateiName, 0, ReadOnly) NO-ERROR. IF NOT io THEN RETURN. IF VMakro = '' THEN RETURN. io = wordAppl:APPLICATION:RUN(VMakro). RETURN. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-SEND_MAIL) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEND_MAIL Procedure PROCEDURE SEND_MAIL : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipFirma AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO. DEFINE INPUT PARAMETER ipSubject AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipText AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipAttach AS CHARACTER NO-UNDO. DEFINE VARIABLE cMail AS CHARACTER NO-UNDO. DEFINE VARIABLE lSuccess AS LOG NO-UNDO INIT FALSE . DEFINE VARIABLE objOLApp AS COMPONENT-HANDLE NO-UNDO. DEFINE VARIABLE objOLMail AS COMPONENT-HANDLE NO-UNDO. DEFINE VARIABLE objOLAttach AS COMPONENT-HANDLE NO-UNDO. DEFINE VARIABLE objOLFiles AS COMPONENT-HANDLE NO-UNDO. cMail = (IF INDEX(ipFirma, '@') = 0 THEN '' ELSE ipFirma). DO WHILE TRUE: IF cMail <> '' THEN LEAVE. FIND Adresse USE-INDEX Adresse-k1 WHERE Adresse.Firma = ipFirma AND Adresse.Knr = ipKnr NO-LOCK NO-ERROR. IF Adresse.Mail = '' THEN LEAVE. IF INDEX(Adresse.Mail, '@') = 0 THEN LEAVE. cMail = Adresse.Mail. LEAVE. END. IF cMail = '' THEN RETURN NO-APPLY. DO WHILE TRUE: CREATE 'Outlook.Application' objOLApp CONNECT NO-ERROR. IF VALID-HANDLE(objOLApp) THEN LEAVE. CREATE 'Outlook.Application' objOLApp NO-ERROR. LEAVE. END. IF NOT VALID-HANDLE(objOLApp) THEN DO: MESSAGE 'Mail ist nicht installiert' VIEW-AS ALERT-BOX ERROR. RETURN NO-APPLY. END. objOLMail = objOLApp:CreateItem(0). IF NOT VALID-HANDLE(objOLMail) THEN DO: MESSAGE 'Kann kein neues Mail erfassen' VIEW-AS ALERT-BOX. RETURN NO-APPLY. END. objOLMail:To = cMail. objOLMail:Body = ipText + CHR(10). IF ipAttach <> '' THEN DO: objOLAttach = objOLMail:Attachments:Add(ipAttach, 1 ) NO-ERROR. /* objOLAttach:NAME = 'Hallo'. chFiles:source = ENTRY(iLoop, cFiles). */ END. objOLMail:Subject = ipSubject. objOLMail:Display. /* objOLMail:Send. */ IF VALID-HANDLE(objOLAttach) THEN RELEASE OBJECT objOLAttach. IF VALID-HANDLE(objOLMail ) THEN RELEASE OBJECT objOLMail. IF VALID-HANDLE(objOLApp ) THEN RELEASE OBJECT objOLApp. lSuccess = TRUE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-SEND_MAIL_BY_MAILADRESSE) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEND_MAIL_BY_MAILADRESSE Procedure PROCEDURE SEND_MAIL_BY_MAILADRESSE : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER ipSendTo AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipCC AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipSubject AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipText AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER ipAttach AS CHARACTER NO-UNDO. DEFINE VARIABLE lSuccess AS LOG NO-UNDO INIT FALSE . DEFINE VARIABLE objOLApp AS COMPONENT-HANDLE NO-UNDO. DEFINE VARIABLE objOLMail AS COMPONENT-HANDLE NO-UNDO. DEFINE VARIABLE objOLAttach AS COMPONENT-HANDLE NO-UNDO. DEFINE VARIABLE objOLFiles AS COMPONENT-HANDLE NO-UNDO. IF ipSendTo = '' THEN RETURN NO-APPLY. DO WHILE TRUE: CREATE 'Outlook.Application' objOLApp CONNECT NO-ERROR. IF VALID-HANDLE(objOLApp) THEN LEAVE. CREATE 'Outlook.Application' objOLApp NO-ERROR. LEAVE. END. IF NOT VALID-HANDLE(objOLApp) THEN DO: MESSAGE 'Mail ist nicht installiert' VIEW-AS ALERT-BOX ERROR. RETURN NO-APPLY. END. objOLMail = objOLApp:CreateItem(0). IF NOT VALID-HANDLE(objOLMail) THEN DO: MESSAGE 'Kann kein neues Mail erfassen' VIEW-AS ALERT-BOX. RETURN NO-APPLY. END. objOLAttach = objOLMail:Attachments. objOLMail:To = ipSendTo. objOLMail:BCC = ipCC. objOLMail:Body = ipText + CHR(10) + CHR(10). IF ipAttach <> '' THEN DO: objOLAttach = objOLAttach:Add(ipAttach) NO-ERROR. END. objOLMail:Subject = ipSubject. objOLMail:Display. IF ipText <> '' THEN objOLMail:Send. IF VALID-HANDLE(objOLAttach) THEN RELEASE OBJECT objOLAttach. IF VALID-HANDLE(objOLMail ) THEN RELEASE OBJECT objOLMail. IF VALID-HANDLE(objOLApp ) THEN RELEASE OBJECT objOLApp. lSuccess = TRUE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-ZELLEFUELLEN) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ZELLEFUELLEN Procedure PROCEDURE ZELLEFUELLEN : /*------------------------------------------------------------------------------ Purpose: Parameters: Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAMETER excelAppl AS COMPONENT-HANDLE NO-UNDO. DEFINE INPUT PARAMETER Kolonne AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER Zeile AS INTEGER NO-UNDO. DEFINE INPUT PARAMETER Wert AS CHARACTER NO-UNDO. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO. Zelle = Kolonne + TRIM(STRING(Zeile,"zzzzz9")). excelAppl:Range(Zelle):Select. excelAppl:ActiveCell:FormulaR1C1 = Wert. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF /* ************************ Function Implementations ***************** */ &IF DEFINED(EXCLUDE-CREATEEXCEL) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION CREATEEXCEL Procedure FUNCTION CREATEEXCEL RETURNS COMPONENT-HANDLE ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE hdExcel AS COMPONENT-HANDLE NO-UNDO. DEFINE VARIABLE lOk AS LOGICAL NO-UNDO. DEFINE VARIABLE cWert AS CHARACTER NO-UNDO. DO WHILE TRUE: CREATE "Excel.Application" hdExcel CONNECT NO-ERROR. IF VALID-HANDLE(hdExcel) THEN LEAVE. CREATE "Excel.Application" hdExcel NO-ERROR. LEAVE. END. IF NOT VALID-HANDLE(hdExcel) THEN RETURN hdExcel. lOk = ?. hdExcel:VISIBLE = TRUE NO-ERROR. lOk = hdExcel:VISIBLE NO-ERROR. IF lOk = ? THEN DO: RELEASE OBJECT hdExcel NO-ERROR. RETURN hdExcel. END. RETURN hdExcel. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-CREATEWORD) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION CREATEWORD Procedure FUNCTION CREATEWORD RETURNS COMPONENT-HANDLE ( /* parameter-definitions */ ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ DEFINE VARIABLE hdWord AS COMPONENT-HANDLE NO-UNDO. DO WHILE TRUE: CREATE "Word.Application" hdWord CONNECT NO-ERROR. IF VALID-HANDLE(hdWord) THEN LEAVE. CREATE "Word.Application" hdWord NO-ERROR. IF VALID-HANDLE(hdWord) THEN hdWord:Visible = TRUE. LEAVE. END. RETURN hdWord. END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-RELEASEEXCEL) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION RELEASEEXCEL Procedure FUNCTION RELEASEEXCEL RETURNS CHARACTER ( excelAppl AS COMPONENT-HANDLE ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ RELEASE OBJECT excelAppl. RETURN "". END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF &IF DEFINED(EXCLUDE-RELEASEWORD) = 0 &THEN &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION RELEASEWORD Procedure FUNCTION RELEASEWORD RETURNS CHARACTER ( wordAppl AS COMPONENT-HANDLE ) : /*------------------------------------------------------------------------------ Purpose: Notes: ------------------------------------------------------------------------------*/ RELEASE OBJECT wordAppl. RETURN "". END FUNCTION. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ENDIF