December 22, 2016 | Author: mac_macu27526 | Category: N/A
Download ELO OLE Automation Interface Description UK...
ELOprofessional - OLE Automation Interface
02.03.2007
ELOprofessional - OLE Automation Interface Structure and Application of the Automation Interface The ELOoffice 2.1 DDE Interface has been replaced by a more modern and improved OLE Automation Interface with the professional version. It is now possible to send commands to ELO from outside, make entries or request information from ELO. Script names can be allocated freely. They must only meet the rules for a file name. All script names starting with ELO are reserved for ELO Digital Office. You should not use these, as otherwise name conflicts may occur. The OLE Automation Interface by ELO is very similar to the previous DDE interface. For this reason it cannot be called object oriented, but command oriented. The interface is more or less identical for ELOoffice and ELOprofessional, however, not all functions are available under ELOoffice. When creating the objects it needs to be remembered that ELOoffice has another ID than ELOprofessional. For ELOoffice, the object must be created with the ID ELO.office instead of ELO.professional. If you want to use the Automation Interface under ELOprofessional 2.5, you must use the ID LeitzElo.Elo32, ELOoffice 4.5 required the ID LeitzElo.Elo32o. The LeitzElo Ids are still valid for the program versions ELOprofessional 3.0 or 5.0 for compatibility reasons, but will be discarded in the next program version.
Important Information: Please note the character of the OLE Automation Interface: 1. Easy and fast extendibility of the ELO client by additional functions 2. Highest possible upward compatibility between versions These two main targets may result in the introduction of new Automation commands in the project within a short period of time, that are intended to execute one particular function only. Consequently, it is not guaranteed that each command is executable in each workview and in any combination with other commands. Due to the compatibility requirement, new client functions cannot always be introduced to the existing commands. In this case, either an xyz_EXT function is created or the functionality is not exported via the Automation Interface at all. Please note also, that this interface is a Client-Interface. It’s not conceived for executing a large amount of actions. You should check before penetrating in border ranges, whether the OLE Interface meets your requests at all. Since here are many components involved on which we have no influence, we’re not able to offer you a work around at some limitations (e.g. memory leaks in the OLE Interface, in Windows Scripting Host or in the Compiler Run-time environment as well).
© 1998..2002 ELO Digital Office
GmbH
Page: 1
ELOprofessional - OLE Automation Interface
02.03.2007
Table of Contents
ELOPROFESSIONAL - OLE AUTOMATION INTERFACE........................................1 Structure and Application of the Automation Interface .......................................................................................1 Important Information:.........................................................................................................................................1
Table of Contents ...................................................................................................................................................2 Extended System Settings....................................................................................................................................10 Under ELOprofessional 3.0, the following additional ID is available:..............................................................10 Additional IDs from Version 3.00.360 ..............................................................................................................10 Separate Registry Information ...........................................................................................................................10 First Steps .............................................................................................................................................................11 Starting ELO, Selecting Archive and Login Dialog ..........................................................................................11 Detecting the Currently Selected Entry..............................................................................................................13 List of All Documents in the Accounting Cabinet, Invoice Folder, 1998 Tab ..................................................13 Adding a New Document to the Tab .................................................................................................................13 Detecting the Mask (Document Type) Number from the Description...............................................................13 Adding a Mail with Text Body and File Attachment to the Archive .................................................................14 Editing a Mask ...................................................................................................................................................15 Reading a Color Value or the Entire Color Table..............................................................................................16 Requesting and Setting the Workview...............................................................................................................17 Editing Postbox Content ....................................................................................................................................17 Scanning Documents Horizontally ....................................................................................................................17 Finding Entries via the OLE Interface ...............................................................................................................18 EloScript Example: Issuing an Access Path to the Currently Selected Object ..................................................19 EloScript Example: Empty and Separator Page Check in the Postbox ..............................................................19 Simple Form Management.................................................................................................................................20 Example: Before Editing a Self-Adhesive Note ................................................................................................21 Example of a Microsoft WinWord 8 Macro ......................................................................................................22 Scripting within the Process Control .................................................................................................................24 "Entering/Moving an Object Reference" Script Event ......................................................................................25 "When Checking a Document In/Out" Script Event..........................................................................................25 Editing the Subject Data Script Event................................................................................................................27 Before the Search Script Event ..........................................................................................................................27 Viewer Export Script Event ...............................................................................................................................27 Batch Scan Script Event.....................................................................................................................................28 Collecting the Workflows Script Event (available from version 4.00.214 on)..................................................29 Workflow Start and End Scripts ........................................................................................................................32 Creating a Workflow Report when Terminating a Workflow ...........................................................................32 HTML Subject Data View Script Event ............................................................................................................35 Example for a view of the short name and the first 11 index lines (if they are not empty): ..............................36 Special Script Events ...........................................................................................................................................38 Freezing a Document (ELO_Freeze) .................................................................................................................38 Thesaurus (ELO_Thesaurus) .............................................................................................................................38 Reminders/Workflow Notifications (ELO_OUTLOOK) ..................................................................................39 Keyword Lists (ELO_BUZZLIST)....................................................................................................................42 Automatic Action when Starting the Program (ELO_START) .........................................................................44 Project Default for Activities (ELO_CHECKPROJ) .........................................................................................44 Special Handling Upon New Storage of Documents.........................................................................................44 Suppress “Document of the Backup” Dialog (ELO_READDOC) ....................................................................44 © 1998..2002 ELO Digital Office
GmbH
Page: 2
ELOprofessional - OLE Automation Interface
02.03.2007
Own Reports ......................................................................................................................................................45 Requesting Scripts .............................................................................................................................................46 Form Detection API.............................................................................................................................................47 Overview............................................................................................................................................................47 Commands of the Pattern Detection-API...........................................................................................................47 Examples............................................................................................................................................................47 Syntax of the format strings of the pattern detection .........................................................................................53 Annotations ........................................................................................................................................................53 List of the Available OLE Functions..................................................................................................................55 General Information about the Functions ..........................................................................................................55 Property ActionKey (int, read only) ..................................................................................................................56 Function ActivateFlow.......................................................................................................................................58 Property ActivePostFile (AnsiString) ................................................................................................................59 Property ActiveUserId (int, read only) ..............................................................................................................60 Property Activity (AnsiString)...........................................................................................................................61 Function AddAutoDlgControl (int, int, AnsiString, AnsiString).......................................................................62 Function AddLink..............................................................................................................................................63 Function AddNote..............................................................................................................................................64 Function AddNoteEx .........................................................................................................................................64 Function AddPostboxFile ..................................................................................................................................65 Function AddSignature ......................................................................................................................................66 Function AddSw ................................................................................................................................................67 Function AddThesaurus .....................................................................................................................................68 Function AnalyzeFile.........................................................................................................................................69 Property ArchiveDepth (int) ..............................................................................................................................70 Function ArcListLineId .....................................................................................................................................71 Function ArcListLineSelected ...........................................................................................................................72 Function AssignWorkflowUser (int) .................................................................................................................73 Property AttId (int) ............................................................................................................................................74 Property AutoDlgResult (AnsiString)................................................................................................................75 Function Backup (int, int, int)............................................................................................................................76 Property BackupPath (AnsiString).....................................................................................................................77 Function BringToFront ......................................................................................................................................78 Function ChangeObjAcl (int ObjId, AnsiString Acl, int Option)......................................................................79 Function CheckFile ............................................................................................................................................80 Function CheckFileHash....................................................................................................................................81 Function CheckIn...............................................................................................................................................82 Function CheckInEx ..........................................................................................................................................82 Property CheckInOutFileName (AnsiString).....................................................................................................83 Property CheckInOutObjID (int) .......................................................................................................................84 Function CheckObjAcl ......................................................................................................................................85 Function CheckOut ............................................................................................................................................86 Function CheckPage ..........................................................................................................................................87 Function CheckUpdate.......................................................................................................................................88 Function ClickOn...............................................................................................................................................89 Function CloseActivateDocDlg .........................................................................................................................90 Function CollectChildList..................................................................................................................................91 Function CollectLinks........................................................................................................................................92 Function CollectWv ...........................................................................................................................................93 Property ColorInfo (int) .....................................................................................................................................94 Property ColorName (AnsiString) .....................................................................................................................95 Property ColorNo (int).......................................................................................................................................96 Function ConfirmWorkflow ..............................................................................................................................97 Function ConfirmWorkflowEx ..........................................................................................................................98 Function CreateAutoDlg (AnsiString Caption) .................................................................................................99 Function CreateCounter ...................................................................................................................................100 © 1998..2002 ELO Digital Office
GmbH
Page: 3
ELOprofessional - OLE Automation Interface
02.03.2007
Function CreateStructure (AnsiString Path, int StartID) .................................................................................101 Function CreateViewer ....................................................................................................................................102 Function DateToInt (AnsiString Date) ............................................................................................................103 Function DeleteFlow(int, int)...........................................................................................................................104 Function DeleteMask .......................................................................................................................................105 Function DebugOut..........................................................................................................................................106 Function DeleteObj..........................................................................................................................................107 Function DeleteProjectOptions ........................................................................................................................108 Function DeleteSwl..........................................................................................................................................109 Function DeleteWv ..........................................................................................................................................110 Function DeleteWvLine...................................................................................................................................111 Property DelOutlookName (AnsiString)..........................................................................................................112 Function DoCheckInOut..................................................................................................................................113 Function DoCheckInOut2................................................................................................................................114 Function DoCheckInOut3................................................................................................................................115 Property DocId (int).........................................................................................................................................116 Property DocKey (int)......................................................................................................................................117 Property DocKind (int) ....................................................................................................................................118 Property DocPath (int) .....................................................................................................................................119 Property DocTPath (int)...................................................................................................................................120 Function DoEditObject ....................................................................................................................................121 Function DoEditObjectEx................................................................................................................................121 Function DoExecute.........................................................................................................................................122 Function DoExecuteEx ....................................................................................................................................123 Function DoFullTextSearch.............................................................................................................................124 Function DoInvisibleSearch.............................................................................................................................125 Function DoSearch...........................................................................................................................................126 Function DoSearchSel (AnsiString).................................................................................................................126 Function DoSearchEx (AnsiString, int) ...........................................................................................................126 Function DoSelArcTree ...................................................................................................................................127 Function EditActivity (AnsiString)..................................................................................................................128 Property EditDlgActive (int)............................................................................................................................129 Function EditWv (int WvId, int ParentId) .......................................................................................................130 Function EloWindow .......................................................................................................................................131 Function Export ...............................................................................................................................................132 Function FindFirstWv......................................................................................................................................133 Function FindFlowTemplate............................................................................................................................134 Function FindNextWv .....................................................................................................................................135 Function FindUser ...........................................................................................................................................136 Function FreezeDoc .........................................................................................................................................137 Function FromClipboard..................................................................................................................................138 Function GetArcName .....................................................................................................................................139 Function GetArchiveName ..............................................................................................................................140 Function GetAutoDlgValue (int Index) ...........................................................................................................141 Function GetBarcode .......................................................................................................................................142 Function GetChildNode ...................................................................................................................................143 Function GetCookie .........................................................................................................................................144 Function GetCounter........................................................................................................................................145 Function GetCounterList..................................................................................................................................146 Function GetDocExt ........................................................................................................................................147 Function GetDocFromObj ...............................................................................................................................148 Function GetDocRefComment.........................................................................................................................149 Function GetDocumentExt ..............................................................................................................................150 Function GetDocumentOrientation..................................................................................................................151 Function GetDocumentPath.............................................................................................................................152 Function GetDocumentPathName ...................................................................................................................153 Function GetDocumentPathVersion ................................................................................................................154 Function GetDocumentSize .............................................................................................................................155 © 1998..2002 ELO Digital Office
GmbH
Page: 4
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetEntryId ........................................................................................................................................156 Function GetEntryName ..................................................................................................................................157 Function GetGuidFromObj ..............................................................................................................................158 Function GetHistDoc .......................................................................................................................................159 Function GetHistObj........................................................................................................................................160 Function GetIndexGroups................................................................................................................................161 Function GetLastDocId....................................................................................................................................162 Function GetLastVersionTimeStamp (int, int).................................................................................................163 Function GetListEntry......................................................................................................................................164 Function GetMD5Hash ....................................................................................................................................165 Function GetNodeList......................................................................................................................................166 Function GetObjAttrib .....................................................................................................................................167 Function GetObjAttribFlags ............................................................................................................................168 Function GetObjAttribKey ..............................................................................................................................169 Function GetObjAttribMax..............................................................................................................................170 Function GetObjAttribMin ..............................................................................................................................171 Function GetObjAttribName............................................................................................................................172 Function GetObjAttribType.............................................................................................................................173 Function GetObjFromDoc ...............................................................................................................................174 Function GetObjFromDocEx...........................................................................................................................175 Function GetObjFromGuid ..............................................................................................................................176 Function GetObjMaskNo.................................................................................................................................177 Function GetObjRef (int ObjId, int RefNo).....................................................................................................178 Function GetPopupObjectId ().........................................................................................................................179 Function GetPostDir ........................................................................................................................................180 Function GetRegInfo .......................................................................................................................................181 Function GetScriptButton ................................................................................................................................183 Function GetScriptEvent (AnsiString Event, int Mode) ..................................................................................184 Function GetTreePath(int Mode, AnsiString Delimiter, int MaxLength)........................................................185 Function GotoId ...............................................................................................................................................186 Function GotoPath ...........................................................................................................................................187 Function GovAddInfo......................................................................................................................................188 Function GovDeleteRequest ............................................................................................................................189 Property GovDueDate (AnsiString).................................................................................................................190 Function GovGetRequestId .............................................................................................................................191 Function GovMoveRequest .............................................................................................................................192 Property GovObjId (int)...................................................................................................................................193 Property GovOwner (int) .................................................................................................................................194 Property GovReqDate (AnsiString) .................................................................................................................195 Property GovReqId (int) ..................................................................................................................................196 Property GovReqPrio (int) ...............................................................................................................................197 Property GovReqStatus (int)............................................................................................................................198 Function GovRequestList ................................................................................................................................199 Function GovRequestNext...............................................................................................................................200 Property GovRetDate (AnsiString)..................................................................................................................201 Property GovSender (int).................................................................................................................................202 Function Import ...............................................................................................................................................203 Function ImportScript ......................................................................................................................................204 Function ImportWorkflow ...............................................................................................................................205 Function InsertDocAttachment ........................................................................................................................206 Function InsertDocAttachmentEx....................................................................................................................207 Function InsertProjectOptions .........................................................................................................................208 Function InsertRef ...........................................................................................................................................210 Function InsertVTRep(int, int, AnsiString) .....................................................................................................211 Function IntToDate..........................................................................................................................................212 Property IsWfLine(int).....................................................................................................................................213 Function LoadPostImg.....................................................................................................................................214 Function LoadUserName .................................................................................................................................215 © 1998..2002 ELO Digital Office
GmbH
Page: 5
ELOprofessional - OLE Automation Interface
02.03.2007
Function LockObject .......................................................................................................................................216 Function Login.................................................................................................................................................217 Property LookupDelimiter (AnsiString) ..........................................................................................................218 Function LookupDocType ...............................................................................................................................219 Function LookupHistMD5Ext .........................................................................................................................220 Function LookupHistMD5 (deprecated)..........................................................................................................220 Function LookupIndex.....................................................................................................................................221 Function LookupKeyName..............................................................................................................................222 Function LookupMaskName............................................................................................................................223 Function LookupUserName.............................................................................................................................224 Property MaskFlags (int) .................................................................................................................................225 Property MaskKey (int) ...................................................................................................................................226 Property MaxResultSet(int) .............................................................................................................................227 Function MergeImages ....................................................................................................................................228 Function MergeImagesEx ................................................................................................................................228 Function MergePostPages................................................................................................................................229 Property MinDocLevel (int).............................................................................................................................230 Function MovePostboxFile ..............................................................................................................................231 Function MovePostboxFile2 ............................................................................................................................231 Function MoveToArchive................................................................................................................................232 Function MoveToArchiveEx ...........................................................................................................................232 Function NextActivity (AnsiString).................................................................................................................233 Property NodeAction (int) ...............................................................................................................................235 Property NodeActivateDate (AnsiString) ........................................................................................................236 Property NodeActivateScript (AnsiString) ......................................................................................................237 Property NodeAlertWait (int) ..........................................................................................................................238 Property NodeAllowActivate (int)...................................................................................................................239 Property NodeAvailable (int)...........................................................................................................................240 Property NodeComment (AnsiString)..............................................................................................................241 Property NodeDepartment (int) .......................................................................................................................242 Property NodeFlowId (int)...............................................................................................................................243 Property NodeFlowName (AnsiString) ...........................................................................................................244 Property NodeId (int).......................................................................................................................................245 Property NodeName (AnsiString)....................................................................................................................246 Property NodeObjectID (int) ...........................................................................................................................247 Property NodeTerminateDate (AnsiString) .....................................................................................................248 Property NodeTerminateScript (AnsiString) ...................................................................................................249 Property NodeType (int) ..................................................................................................................................250 Property NodeUser (int)...................................................................................................................................251 Property NodeYesNoCondition (AnsiString) ..................................................................................................252 Property NoteOwner(int) .................................................................................................................................253 Property NoteText (AnsiString).......................................................................................................................254 Property NoteType(int) ....................................................................................................................................255 Property ObjAcl (AnsiString) ..........................................................................................................................256 Property ObjBarcodeInfo(AnsiString).............................................................................................................257 Property ObjFlags (int) ....................................................................................................................................258 Property ObjGuid (AnsiString)........................................................................................................................259 Property ObjIDate (AnsiString) .......................................................................................................................260 Property ObjIndex (AnsiString).......................................................................................................................261 Property ObjInfo (int) ......................................................................................................................................262 Property ObjKey (int) ......................................................................................................................................263 Property ObjLock(int) read only......................................................................................................................264 Property ObjMainParent (int) ..........................................................................................................................265 Property ObjMaskNo (int) ...............................................................................................................................266 Property ObjMemo (AnsiString) .....................................................................................................................267 Property ObjMemoInfo (AnsiString)...............................................................................................................268 Property ObjMName (AnsiString)...................................................................................................................269 Property ObjOwner (int) ..................................................................................................................................270 © 1998..2002 ELO Digital Office
GmbH
Page: 6
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjSDate (AnsiString), ObjSIDate, ObjSVDate ..............................................................................271 Property ObjSReg (AnsiString) .......................................................................................................................272 Property ObjShort (AnsiString) .......................................................................................................................273 Property ObjStatus (int) ...................................................................................................................................274 Property ObjType (int), ObjTypeEx (int) ........................................................................................................275 Property ObjVDate (AnsiString) .....................................................................................................................276 Property ObjXDate (AnsiString) .....................................................................................................................277 Function OcrAddRect ......................................................................................................................................278 Function OcrAnalyze and OcrAnalyzeEx........................................................................................................279 Function OcrClearRect ....................................................................................................................................280 Function OcrGetPattern ...................................................................................................................................281 Function OcrGetText .......................................................................................................................................282 Function OcrPattern .........................................................................................................................................283 Property OfficeMaskNo (AnsiString)..............................................................................................................284 Property OkEnabled (int) .................................................................................................................................285 Function OpenChildNodes...............................................................................................................................286 Property (AnsiString) OpenSave (int value) ....................................................................................................287 Function (AnsiString) OpenSaveDialog (int Type) .........................................................................................289 Function OrientFile ..........................................................................................................................................290 Property OutlookName (AnsiString) ...............................................................................................................291 Function PostBoxLineSelected ........................................................................................................................292 Function PrepareObject, PrepareObjectEx ......................................................................................................293 Function PrepareReplSet..................................................................................................................................295 Function PromoteAcl .......................................................................................................................................297 Property PrintDocListTabs (int Nr) .................................................................................................................299 Function PrintDocument ..................................................................................................................................300 Function QueryOption .....................................................................................................................................301 Function QueryReplSet....................................................................................................................................302 Function ReadActivity (AnsiString) ................................................................................................................303 Function ReadBarcodes ...................................................................................................................................304 Function ReadColorInfo ..................................................................................................................................305 Function ReadKey (int)....................................................................................................................................306 Function ReadObjMask ...................................................................................................................................307 Function ReadSwl............................................................................................................................................308 Function ReadUser...........................................................................................................................................309 Function ReadUserProperty.............................................................................................................................310 Function ReadWFNode(int, int, int, int) ..........................................................................................................311 Function ReadWv ............................................................................................................................................312 Function ReloadWv .........................................................................................................................................313 Function RemoveDocs(int, AnsiString, int).....................................................................................................314 Function RemoveRef (int, int) .........................................................................................................................315 Function RotateFile..........................................................................................................................................316 Function RunEloScript.....................................................................................................................................317 Function SaveDocumentPage ..........................................................................................................................318 Function SaveDocumentZoomed.....................................................................................................................319 Function SaveObject........................................................................................................................................320 Property ScriptActionKey (int)........................................................................................................................321 Property SearchListColumns ( AnsiString ) ....................................................................................................322 Function SearchListLineId...............................................................................................................................323 Function SearchListLineSelected.....................................................................................................................324 Function SelectAllPostBoxLines .....................................................................................................................325 Function SelectArcListLine .............................................................................................................................326 Function SelectCurrentNode............................................................................................................................327 Function SelectLine .........................................................................................................................................328 Function SelectNode ........................................................................................................................................329 Function SelectPostBoxLine............................................................................................................................330 Function SelectPostBoxLineEx .......................................................................................................................330 Function SelectRootNode ................................................................................................................................331 © 1998..2002 ELO Digital Office
GmbH
Page: 7
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectSearchListLine ........................................................................................................................332 Function SelectTreePath ..................................................................................................................................333 Function SelectUser .........................................................................................................................................334 Function SelectUserEx.....................................................................................................................................334 Function SelectView ........................................................................................................................................335 Function SelectWorkArea................................................................................................................................336 Function SelList ...............................................................................................................................................337 Function SeparateTiffFile ................................................................................................................................338 Function SetCookie..........................................................................................................................................339 Function SetObjAttrib......................................................................................................................................340 Function SetObjAttribFlags .............................................................................................................................341 Function SetObjAttribKey ...............................................................................................................................342 Function SetObjAttribMax ..............................................................................................................................343 Function SetObjAttribMin ...............................................................................................................................344 Function SetObjAttribName ............................................................................................................................345 Function SetObjAttribType..............................................................................................................................346 Function SetOption ..........................................................................................................................................347 Function SetReplSet.........................................................................................................................................348 Function SetScriptButton.................................................................................................................................349 Function SetScriptEvent ..................................................................................................................................350 Function SetScriptMenu ..................................................................................................................................352 Function ShowActivities (int,AnsiString)........................................................................................................353 Function ShowAutoDlg ()................................................................................................................................354 Function ShowDocInverted .............................................................................................................................355 Property SigId (int) ..........................................................................................................................................356 Function Sleep .................................................................................................................................................357 Function SortSearchList...................................................................................................................................358 Function SplitFileName ...................................................................................................................................359 Function StartFlow...........................................................................................................................................360 Function StartFlowEx ......................................................................................................................................361 Function StartScan ...........................................................................................................................................362 Function Status.................................................................................................................................................363 Function StoreDirect........................................................................................................................................364 Function StoreKeyword ...................................................................................................................................365 Function StoreMulti .........................................................................................................................................366 Function ToClipboard......................................................................................................................................367 Function TreeWalk ..........................................................................................................................................368 Function UnselectAllPostBoxLines .................................................................................................................370 Function UnselectArcListLine .........................................................................................................................371 Function UnselectLine .....................................................................................................................................372 Function UnselectPostBoxLine........................................................................................................................373 Function UnselectSearchListLine ....................................................................................................................374 Function UpdateDocument, UpdateDocumentEx............................................................................................375 Function UpdateObject ....................................................................................................................................376 Function UpdatePostbox..................................................................................................................................377 Function UpdatePostboxEx .............................................................................................................................378 Function UpdateReplSet ..................................................................................................................................379 Property UserFlags (int)...................................................................................................................................380 Property UserGroup (int) .................................................................................................................................381 Property UserGroups (AnsiString) ..................................................................................................................382 Property UserId (int) ........................................................................................................................................383 Property UserKeys (AnsiString) ......................................................................................................................384 Property UserName (AnsiString).....................................................................................................................385 Property UserParent (int) .................................................................................................................................386 Property UserTerminate (AnsiString) ..............................................................................................................387 Function Version..............................................................................................................................................388 Property ViewFileName (String) .....................................................................................................................389 Property WFComment (AnsiString) ................................................................................................................390 © 1998..2002 ELO Digital Office
GmbH
Page: 8
ELOprofessional - OLE Automation Interface
02.03.2007
Property WFFlowName (AnsiString) ..............................................................................................................391 Property WFName (AnsiString) ......................................................................................................................392 Property WFOwner (AnsiString) .....................................................................................................................393 Property WindowState (int) .............................................................................................................................394 Function WriteActivity (AnsiString) ...............................................................................................................395 Function WriteColorInfo .................................................................................................................................396 Function WriteKey (int KeyNo, AnsiString KeyName)..................................................................................397 Function WriteObjMask ..................................................................................................................................398 Function WriteUser..........................................................................................................................................399 Function WriteUserProperty ............................................................................................................................400 Function WriteWv ...........................................................................................................................................402 Property WvCreateDate (AnsiString) ..............................................................................................................403 Property WvDate (AnsiString) ........................................................................................................................404 Property WvDesc (AnsiString) ........................................................................................................................405 Property WvDueDate (AnsiString)..................................................................................................................406 Property WvIdent (int).....................................................................................................................................407 Function WvListInvalidate ()...........................................................................................................................408 Property WvNew (int)......................................................................................................................................409 Property WvParent (int)...................................................................................................................................410 Property WvParentType (int), WvParentTypeEx (int) ....................................................................................411 Property WvPrio (int) ......................................................................................................................................412 Property WvShort (AnsiString) .......................................................................................................................413 Property WvUserFrom (int) .............................................................................................................................414 Property WvUserOwner (int)...........................................................................................................................415 Appendix.............................................................................................................................................................416 Appendix A, Description of dialog elements in the main ELO view...............................................................416
© 1998..2002 ELO Digital Office
GmbH
Page: 9
ELOprofessional - OLE Automation Interface
02.03.2007
Extended System Settings Under ELOprofessional 3.0, the following additional ID is available: The ELO object is only simply available, several CreateObject requests trigger off the same program instance to be accessed. In order to be able to use two ELOprofessional versions per scripting at the same time (e.g. for script-controlled transfer between two different archives), the following procedure needs to be followed: 1. 2. 3.
A copy of the ELO32.EXE client to ELO32D.EXE is created (precisely this name!). The ELO32D.EXE program is requested once, it then registers in the OLE runtime system under the ID "ELO.professional2" Scripts that want to work with this instance use the "ELO.professional2" ID for CreateObject instead of or in addition to "ELO.professional".
Additional IDs from Version 3.00.360 • •
Apart from the ELO32D.EXE version, you can now additionally create ELO32E.EXE, ELO32F.EXE and ELO32G.EXE. These programs then answer to ELO.professional2 (ELO32D.EXE), ELO.professional3 (ELO32E.EXE), ELO.professional4 (ELO32F.EXE), and ELO.professional5 (ELO32G.EXE).
You can now use separate program allocations for different script tasks. For example, if you have written a series of extensions for a help desk function and another group of scripts for automatic e-mail storage in another archive, you can use the two applications (up to 4) via this extension.
Separate Registry Information If you want to work with different archives from one workplace, you can do so to a certain extent with the profiles. For this purpose, you can automatically switch the settings for AccessManager and database login during program start. However, there are a large number of settings that are not part of the profiles, but must be switched in practice. These are for example ScriptEvents, button allocations, and preset storage masks. This is especially annoying if you want to work in the different areas at the same time. For this reason, from version 3.00.360 there is a possibility to operate the clients completely with their own registry branches. 1. 2. 3.
As described above, create program copies ELO32D.EXE, ELO32E.EXE, ELO32F.EXE and ELO32G.EXE (naturally only as many as you actually need). Copy the registry branches HKCU\Software\ELO Digital\ELO32.1 und HKLM\Software\ELO Digital\ELO32.1 to ...\ELO32D.1 (or \ELO32E.1, \ELO32F.1 and \ELO32G.1). If required, adjust the database, server and AccessManager settings. When you start an ELO32x.EXE program version, it first requests from the registry whether there is a branch ...\Software\ELO Digital\ELO32x.1. If it exists, it is used, if it does not exist, the default branch ...\Software\ELO Digital\ELO32.1 is used.
© 1998..2002 ELO Digital Office
GmbH
Page: 10
ELOprofessional - OLE Automation Interface
02.03.2007
First Steps The following sections provide an overview of ELO Automation Interface programming. The examples focus on the required steps, no error log is carried out. From version 3.0 onwards you have the opportunity to record all automation accesses in one file. This is a practical extension for the script creation. However, this new function is rendered special importance in case of malfunctions or when controlling completed components, whose interior structure cannot be viewed. The report is switched on via the Options dialog:
Starting ELO, Selecting Archive and Login Dialog In general, there are two different scenarios for ELO remote control: 1. A user works with ELO and you want to carry out actions in the work area of this user via your application. In this case no login is required, it has already been carried out by the user. You then only need to check in your application whether ELO is already active. 2. You have an independent process (e.g. automatic fax or mail transfer). In this case the application has to carry out a login (and a logout at the end). Login to ELO for case 1: // Start ELOprofessional ... try { EloServer= CreateOleObject("ELO.professional"); © 1998..2002 ELO Digital Office
GmbH
Page: 11
ELOprofessional - OLE Automation Interface
02.03.2007
} catch (...) { // ELOprofessional must have been called at least once // at the workplace - it then registers // automatically as OLE Automation Server return; }; // First of all, you should make sure that // a user is actually logged in. ObjId=EloServer.OleFunction("GetEntryId",-1); if (ObjId==-1) { // error: no work area active, i.e. // ELO is started, but no user is logged in return; }; Login to ELO for case 2: // Start ELOprofessional ... try { EloServer= CreateOleObject("ELO.professional"); } catch (...) { // ELOprofessional must have been called at least once // at the workplace - it then registers // automatically as OLE Automation Server return; }; // check version iOleResult=EloServer.OleFunction("Version"); if (iOleResult0) { // ... and the file attachment is carried out. iOleResult=EloServer.OleFunction("InsertDocAttachment", iObjId,sMailAttachment); }; }; return iOleResult>0; };
Editing a Mask With the ReadObjMask and WriteObjMask commands you can read document type information and save it again. The following values are available as document type information: ObjMName ObjMIndex MaskFlags MaskKey DocKey DocKind DocPath DocTPath
Mask name Target information for automatic storage Bit ... Mask key Default value for document key Default value for document color Document storage path Default value for the storage path
In addition there are 50 attribute lines (0..49) available. Each attribute line has the following values: Get/SetObjAttrib() Get/SetObjAttribName() Get/SetObjAttribKey() Get/SetObjAttribType() Get/SetObjAttribMin() Get/SetObjAttribMax()
User entry, e.g. an invoice number Description of the field in the mask, e.g. "Invoice number" Index description in the database, e.g. "INVNO" 0: Text, 1: Date, 2: Numerical Minimum input length in digits, 0: No control Maximum input length in digits, 0: No control
The ObjAttrib field is irrelevant for definition of an input mask, it is not stored at this point, as it will only record the user input at a later stage when creating documents. The differentiation of ObjAttribName and ObjAttribKey is carried out for three reasons: • If different language versions need to cooperate, a suitable text (e.g. "Rechnungsnummer" and "Invoice No.") can be displayed in the input masks. However, the same key is used database-internal in both cases (e.g. "INVNO"). • A mask can contain several of the same fields. For example, a "Book" input mask can contain several lines on the authors (author, co-author etc.). All these lines can then be added to the same key (e.g. author) database-internally and thus they can all be considered during the search. • Different masks can contain similar fields. An invoice contains the "Client name" field, a delivery note contains the "Supplier name" field. Both fields can contain the internal "Name" database key and can thus be triggered directly during the search. Please note that the minimum and maximum input refers to the number of digits and not (not even for numerical fields) to the input value. © 1998..2002 ELO Digital Office
GmbH
Page: 15
ELOprofessional - OLE Automation Interface
02.03.2007
Index lines 0..49 are available for the subject data fields. This is followed by 10 lines that are reserved for ELOinternal tasks. Line 50 contains the link information at present. For this purpose, the index line is allocated the group description ELO_XLINK in the AttribName field and a 12-digit random character string in the Field value. The following is a short example for creating a new mask: NEWMASK=9999 Set Elo=CreateObject("ELO.professional") if Elo.ReadObjMask(NEWMASK)0) then res=Elo.Status("Delivery note in line " & strLine & " detected.") res=Elo.AnalyzeFile(strLine,"R(600,100,1000,200) P(1) S(DlNo=1,10) R(500,180,1000,220) P(1) S(CtNo=1,10) R(500,220,1000,260) P(1) S(Product=1,10) R(500,260,1000,320) P(1) S(Storage location=1,50) ",7) SupplyNo=Elo.GetObjAttrib(0) iRet=Elo.PrepareObject (-1,iNum,0) ELo.ObjShort=ELo.ObjShort+SupplyNo iRet=Elo.AddPostBoxFile("") ObjIndex="REG=Delivery note" iRet=Elo.MoveToArchive (ObjIndex) if (iRet 1) then msgbox "Error during transfer, RetValue = " & Cstr(iRet) End If Else res=Elo.Status("Unknown document in " & strLine) If SaveObjShort="" then Elo.ObjShort="Unknown document" Else Elo.ObjShort=SaveObjShort End If iRet=Elo.AddPostBoxFile("") End If End If Else res=Elo.Status("Document type could not be checked in line " & strLine) If SaveObjShort="" then Elo.ObjShort="Unknown document" Else Elo.ObjShort=SaveObjShort End If iRet=Elo.AddPostBoxFile("") End If End If iNum=iNum+1 Loop res=Elo.UpdatePostbox()
Example: Before Editing a Self-Adhesive Note When editing a self-adhesive note, the name and time are automatically entered into the text field. The ScriptActionKey parameter contains values 1: before the request, 2: after the request, completed with Ok and 3: after the request, completed with Cancel. set Elo=CreateObject("ELO.professional") © 1998..2002 ELO Digital Office
GmbH
Page: 21
ELOprofessional - OLE Automation Interface
02.03.2007
if Elo.ScriptActionKey=1 then note=Elo.NoteText if note"" then note=note & vbcrlf & vbcrlf & "====" & vbcrlf end if Elo.ReadUser(Elo.ActiveUserId) note=note & Date & Time & ": " & Elo.UserName & vbcrlf & "----" & vbcrlf Elo.NoteText=note end if
Example of a Microsoft WinWord 8 Macro The following lines contain an example for the automatic transfer of a document from WinWord to ELO using a macro. Public Sub MAIN() TempDir$ = Environ("TEMP") ' Temporary directory of environmental variables If Documents.Count < 1 Then ' If no document open MsgBox ("Transfer is not possible, as no document was opened") GoTo ENDE End If If Tasks.Exists("The electronic Leitz folder") = False Then ' if ELO is not active -> GoTo StartEloProgram ' Message that ELO must be started End If i = 1 ' Possible Temp file names "WW_ELOi.doc" Loop: ' detect which does not exist in window list For j = 1 To Application.Windows.Count ' Examine for all opened windows If Application.Windows(j).Caption="WW_ELO"+LTrim(Str(i))+".doc" Then i = i + 1 ' next temporary file name "WW_ELOi.doc" GoTo loop ' find in window list End If Next j TempName$ = "WW_ELO" + LTrim(Str(i)) + ".doc" If Dir(ActiveDocument.FullName) "" Then ' Was document saved before ? If ActiveDocument.Saved = False Then ' Saved, but was changed MsgText$ = "Document was changed and receives temporary file name: " + TempName$ + Chr$(13) + Chr$(10) File name$ = TempDir$ + "\" + TempName$ ActiveDocument.SaveAs FileName:=File name$ Else ' is saved and was not changed MsgText$ = "" ' no indication that document only exists temporarily File name$ = ActiveDocument.FullName ' File name+path (copies original file) End If Else ' Document is a new document MsgText$ = "Caution: The document is not yet saved and receives the temporary file name: " + TempName$ + Chr$(13) + Chr$(10) File name$ = TempDir$ + "\" + TempName$ ' set temporary file name ActiveDocument.SaveAs FileName:=File name$ ' save under temporary file name End If ShortName = ActiveDocument.BuiltInDocumentProperties("Title") If ShortName = "" Then ' if no title entered, it receives ShortName = ActiveDocument.Name ' document name as short name End If Com = ActiveDocument.BuiltInDocumentProperties("Comments") ' Copy comment DDate$ = ActiveDocument.BuiltInDocumentProperties("Last Save Time") DDate$ = DateValue(DDate$) ' Determines valid date: dd.mm.yy Dim ELOServer As Object Set ELOServer = CreateObject("ELO.professional") ' ELO32 OLE-Server On Error GoTo LOGIN ' ELO is in Login dialog iOleResult = ELOServer.PrepareObject(0, 4, 0) ' new entry, document, standard On Error GoTo 0 ELOServer.ObjMemo = Com ' Document comment ELOServer.ObjXDate = DDate$ ' last storage date EntryID = ELOServer.GetEntryID(-12) ' >0 -> There is an enabled tab If (ELOServer.SelectView(0) = 1) And (EntryID > 0) Then ' ELO is found in "Archive + Tab" txt = MsgText$ + Chr$(13) + Chr$(10) + "The document is saved in the archive under the following short name." ShortName = InputBox(txt, "ELOprofessional document transfer", ShortName) ' Short name can be changed via ELOServer.ObjShort = ShortName ' dialog iOleResult = ELOServer.AddPostboxFile(File name$) ' first of all into postbox, iOleResult = ELOServer.MoveToArchive("#" + Str(EntryID)) ' then into archive © 1998..2002 ELO Digital Office
GmbH
Page: 22
ELOprofessional - OLE Automation Interface
02.03.2007
Else ' otherwise transfer into postbox txt = MsgText$ + Chr$(13) + Chr$(10) + "The document is saved in the postbox under the following short name." ELOServer.ObjShort = InputBox(txt, "ELOprofessional document transfer", ShortName) iOleResult = ELOServer.AddPostboxFile(File name$) ' transfer to postbox End If Set ELOServer = Nothing ' release server object again GoTo END LOGIN: Set ELOServer = Nothing ' release server object again MsgBox ("Error: You must login under ELOprofessional.") GoTo END StartEloProgram: MsgBox ("Error: ELOprofessional must be enabled for transfer.") END: End Sub
© 1998..2002 ELO Digital Office
GmbH
Page: 23
ELOprofessional - OLE Automation Interface
02.03.2007
Scripting within the Process Control Within the process control two scripts can be allocated to each node, which are automatically processed at each activation or termination of a node respectively. Within such a script the data of the current node can be accessed, for this purpose, the properties NodeAction, NodeActivateScript, NodeAlertWait, NodeAvailable, NodeComment, NodeFlowName, NodeName, NodeTerminateScript, NodeType, NodeUser and NodeYesNoCondition are available (for description of individual properties, see below). Before these properties are accessed, the NodeAvailable property must be checked. For a value of 1, information is available on a node, otherwise no information is available. If the script is requested manually for example, i.e. not within the context of a process, there is no information available on a node. In this case the NodeAvailable property has the value 0. Caution: When forwarding a workflow activity, first of all the entire workflow is checked into the document including the ELO index information. Afterwards, the required steps are executed in the workflow including the respective scripts. if you change the index information in one of the scripts, the new data are not yet visible within this step. This can be especially critical for branch nodes. If the branching occurs due to the "AMOUNT" field, and this field is changed before branching in the end script of the node, this new value will not included in the decision making process. If this should be necessary, however, the group name of the respective field must be preceded by an exclamation mark in the decision node. This informs the workflow that it has to check out the respective field directly from the database and not from the internal data.
Example script that accesses the data of a node: CRLF=Chr(13)&Chr(10) Set Elo=CreateObject("ELO.professional") If Elo.NodeAvailable=1 Then FlowTxt="Name of process: "&Elo.NodeFlowName Select Case Elo.NodeType Case 1 NTxt="Start node" Case 2 NTxt="Person" Case 3 NTxt="Division node" Case 4 NTxt="Decision node" Case 5 NTxt="Collective node" End Select if Elo.NodeAction=1 Then NTxt=NTxt&" enabled." Else NTxt=NTxt&" terminated." End If NTxt="Action: "&NTxt NameTxt="Name of node: "&Elo.NodeName CommentTxt="Comment: "&Elo.NodeComment If Elo.NodeType=4 Then ConditionTxt="Condition: "&Elo.NodeYesNoCondition Else ConditionTxt="" End If ActivateTxt="Script when activating: "&Elo.NodeActivateScript TerminateTxt="Script when terminating: "&Elo.NodeTerminateScript MsgBox FlowTxt&CRLF&NTxt&CRLF&NameTxt&CRLF&KommentarTxt&CRLF_ &ConditionTxt&CRLF&ActivateTxt&CRLF&TerminateTxt End If
If the active node is a distribution node, the script can control to which successor the document is to be forwarded. Such a script is entered in the End Script field of a (distribution) node: © 1998..2002 ELO Digital Office
GmbH
Page: 24
ELOprofessional - OLE Automation Interface
02.03.2007
Set Elo=CreateObject("ELO.professional") ObjID=Elo.NodeObjectID 'Access to the data... Elo.PrepareObject ObjID,0,0 '...of the document being processed MsgBox Elo.ObjShort Rv=Elo.OpenChildNodes 'Open access to the subsequent nodes If Rv=1 Then Do rv=Elo.GetChildNode 'Read subsequent node... If (rv>0) Then '...available for If Elo.NodeUser=3 Then 'Only user no. 3 receives the document... Elo.NodeAllowActivate=1 Else '...none of the others Elo.NodeAllowActivate=0 End If End If Loop Until rv 0 then Cmd = Left( Cmd, wPos - 1 ) & " , objkeys keys " & Mid( Cmd, wPos, 2000 ) oPos = Instr( Cmd, " order by " ) if oPos > 0 then Ctno = Elo.GetCookie( "WF_CTNO") if Ctno "" then Selection = " and keys.parentid = obj.objid and keys.okeyname = 'CTNO' and keys.okeydata = '" & Ctno & "' " Cmd = Left( Cmd, oPos -1 ) & Selection & Mid( Cmd, oPos, 2000 ) Cmd = Replace( Cmd, "fl.wf_flow_name", "fl.wf_flow_name + ' : " & Ctno & "'" ) 'MsgBox Cmd Elo.TextParam = Cmd end if end if end if This script performs two changes: 1. 2.
The selection is limited additionally to a specific customer number. In the output is additionally displayed the corresponding customer number to the workflow name.
You need access to a further table for this action: the index data. The name of this table is objkeys, it is included in the list of the table between FROM und WHERE. The normal SQL command approximately looks like that: select fl.wf_flowid, fl.wf_eloobjid, fl.wf_flow_name, fl.wf_nodeid, obj.objtype, fl.wf_activate, fl.wf_name, wf_comment, fl.wf_department, wf_terminate, fl.wf_department2 from workflowactivedoc fl, objekte obj where fl.wf_eloobjid = obj.objid and (wf_department = 25) and wf_is_next = 1 order by fl.wf_activate, fl.wf_department
© 1998..2002 ELO Digital Office
GmbH
Page: 30
ELOprofessional - OLE Automation Interface
02.03.2007
With the line [wPos = Instr( Cmd, " where " )] the end of the table is searched and afterwards the further table is included by [Cmd = Left( Cmd, wPos - 1 ) & " , objkeys keys " & Mid( Cmd, wPos, 2000 )]. The FROM region looks like that: from workflowactivedoc fl, objekte obj, objkeys keys Following the WHERE clause is extended by additional selections. This selection is [and keys.parentid = obj.objid and keys.okeyname = 'CTNO' and keys.okeydata = '" & Ctno & "' "]. Please note the daisy chain keys.parentid = obj.objid. If you forget this, the SQL server will provide a large amount of hits. The further parts express, that on the index line CTNO with content of the variable Ctno shall be limited. Then the WHERE region looks like that: where fl.wf_eloobjid = obj.objid and (wf_department = 25) and wf_is_next = 1 and keys.parentid = obj.objid and keys.okeyname = 'CTNO' and keys.okeydata = '4711' At last the customer number is displayed in the column of the workflow name. That happens by the command [Cmd = Replace( Cmd, "fl.wf_flow_name", "fl.wf_flow_name + ' : " & Ctno & "'" )]. It exchanges the column wf_flow_name with an arrangement of the flow name with a colon and the customer number. The beginning of the SELECT list looks like this: select fl.wf_flowid, fl.wf_eloobjid, fl.wf_flow_name + ' : 4711' , fl.wf_nodeid, obj.objtype, fl.wf_activate, Please note, that an additional column for the customer number is not established (that would lead to an error) but the existing column with the workflow name is only added by further text parts.
© 1998..2002 ELO Digital Office
GmbH
Page: 31
ELOprofessional - OLE Automation Interface
02.03.2007
Workflow Start and End Scripts Creating a Workflow Report when Terminating a Workflow This example script creates a report in HTML format when terminating a workflow and adds it to the document as an attachment. If the WF is linked to a structural element, the report is created in it as new document. The script must be registered as end script in all end nodes of the WF. 'TermFlow.VBS 03/04/2003 '-------------------------------------------' © 2003 ELO Digital Office GmbH ' Author: M.Thiele (
[email protected]) '-------------------------------------------' This script reads the actual workflow ' and creates a report as an ' HTML file which corresponds to the list view ' in the workflow designer. ' ' This report is then attached to ' the document or, if the source is a ' structural element, as new ' document. '-------------------------------------------Explicit option dim dim dim dim
Elo Fso FName file
' ' ' '
active ELO client Object file system Name of temp file temporary HTML file
Set Elo=CreateObject("ELO.professional") set Fso = CreateObject("Scripting.FileSystemObject") main sub main dim EloId, cnt, i, UserName EloId=Elo.NodeObjectID cnt=Elo.GetNodeList(1) if EloId>1 and cnt>0 then ' First of all create the temp file and write HTML prefix MakeFile AddHeader Elo.WFFlowName, Elo.LoadUserName(Elo.ActiveUserId) ' run across all WF nodes for i=0 to cnt-1 call Elo.SelectNode(i) if Elo.NodeType=2 then ' Determine user name, UserTerminate has precedence over NodeUser UserName=Elo.UserTerminate if UserName="" then UserName=Elo.LoadUserName(Elo.NodeUser) end if ' Enter node information into report file InsertLine i, Elo.NodeActivateDate, Elo.NodeTerminateDate, UserName, Elo.NodeName, Elo.NodeComment end if next ' Complete HTML file and close CloseReport ' Copy the report as attachment or new document into archive AddAttachment EloId, Elo.WFFlowName end if call Elo.GetNodeList(0) end sub
© 1998..2002 ELO Digital Office
GmbH
Page: 32
ELOprofessional - OLE Automation Interface
02.03.2007
' This function copies the report from the postbox to the archive sub AddAttachment(EloId, WFName) if Elo.PrepareObjectEx(EloId,0,0)>0 then ' If the target is a doc., add as attachment, ' otherwise as new document if Elo.ObjTypeEx ... The two lines listed above show the name() and the content () of the index line 1 in two cells of one table. All ELO placeholders begin with a HTML comment introduction
Moreover you have the possibility to leave out parts of the HTML document completely, as a function of, if a value is entered or not. At the index lines you can save a lot of space, if the empty lines are not displayed. For this you add the complete region to a clip of the comment characters and (xxx stands for the line number or for one of the special characters mentioned above). ... ... In this example the index line 1 is included as an table line only if the text in this line is not empty. For the numerical fields with the internal ELO object numbers the 0 (no document assigned) is classified as “empty”. Table characters, which are marked as invisible or allow no reading access to the user, are also not displayed. In the HTML template files are allowed in principle all permitted TML constructs (inclusive CSS and Java Script). But keep in mind, that the scripting functions are switched of in some browsers. Furthermore you have to mind, that the source comes from a file and not from a server, all active contents (active server pages, server side includes) would not be worked on.
© 1998..2002 ELO Digital Office
GmbH
Page: 35
ELOprofessional - OLE Automation Interface
02.03.2007
The script event is requested before the template file is loaded. At the time of the request the normal object properties to the document to be displayed are loaded as after a PrepareObjectEx (Id…) and the ViewFileName property contains the name of the template file to be loaded (e.g. c:\temp\templ_7.htm). Now you can redirect the template file in the script to another file (by setting the ViewFileName property). In addition you are able to change the values of the index lines if required (SetObjAttrib…).
Example for a view of the short name and the first 11 index lines (if they are not empty): ELOprofessional default mask © 1998..2002 ELO Digital Office
GmbH
Page: 36
ELOprofessional - OLE Automation Interface
02.03.2007
© 1998..2002 ELO Digital Office
GmbH
Page: 37
ELOprofessional - OLE Automation Interface
02.03.2007
Special Script Events ELO knows a number of special scripts that do not need to be configured, but are recognized from their name. As soon as such a script is added to the ELOScripts directory with the respective name, all ELO clients request it during the respective action.
Freezing a Document (ELO_Freeze) The ELO client knows a function for freezing documents. For this purpose, the standard printer is switched to the ELO TiffPrinter, the document is checked in and printed from Windows via ShellExecute ("print"…). If the ShellExecute command does not process this correctly or incompletely, printing can also be carried out via a script. For this purpose, create a script named ELO_Freeze that carries out the respective actions. Before the request, the client sets the ActivePostFile parameter to the file name of the document to be printed. The script notifies via the ActionKey parameter if it wants to take care of printing itself. If the value is set to 0 (default setting), this means that ELO is to take care of the output. Value 1 confirms that the script has been responsible for printing and value 2 is an error message, causing the operation to cancel. Example: For XLS files, only the current table is printed by Excel via ShellExecute. If the document has several tables, the additional ones are not considered. The following example script is responsible for all tables to be printed. Set Elo=CreateObject("ELO.professional") FName=Elo.ActivePostFile Elo.Status "File: " & FName if UCase(Right(FName,4))=".XLS" then Set objXL = CreateObject("Excel.Application") call objXL.Workbooks.Open(FName) objXL.Visible = TRUE call objXL.ActiveWorkbook.PrintOut() objXL.ActiveWorkbook.Close Elo.ActionKey=1 end if
Thesaurus (ELO_Thesaurus) ELO can not only manage one Thesaurus but any number of them. The selection, which Thesaurus is to be used in which index line can be carried out via a script. This can then carry out the selection based on the index line (Property ScriptActionKey), the current user, the current mask or based on the group name of the index line (ActivePostFile property). The number of the Thesaurus to be used is returned via the ActionKey property. Example: Set Elo=CreateObject("ELO.professional") Elo.Status "Group:" & Elo.ActivePostFile & " Line:" & Elo.ScriptActionKey If Elo.ObjMaskNo=3 then Elo.ActionKey=1 Else Elo.ActionKey=2 End if
© 1998..2002 ELO Digital Office
GmbH
Page: 38
ELOprofessional - OLE Automation Interface
02.03.2007
Reminders/Workflow Notifications (ELO_OUTLOOK) When creating a reminder date, ELO can create a respective task in Outlook. However, this is only possible if Outlook is operated on an Exchange Server and the respective authorizations are released (which is not the case especially in larger companies, as not every user is supposed to be able to create a date for any other user). In case the available setup cannot be used, it is possible to initiate any action via this script. In addition, any e-mail system can be notified in this case. Example: '=============================================== ' ELOprofessional_Outlook.VBS '=============================================== ' ' ELO reminders and workflows in Outlook ' '----------------------------------------------' ' The script is requested by the ELOprofessional client ' when reminder dates or ' workflows are entered into the Outlook task list ' or Outlook mails are ' generated. ' '----------------------------------------------' ' © 2001 ELO Digital Office GmbH ' ' Last changed: 24/10/2001 ' '----------------------------------------------Explicit option Dim oElo, oOutlook GetOutlookObj function GetOutlookObj=false Set oOutlook=CreateObject("Outlook.Application") If Err.Number=0 Then GetOutlookObj=true End If End Function '---------------------------' Delete Outlook task entry '---------------------------Sub WVDeleteOutlook Dim oMAPI, oObjRecipient, oFolder, oItems, oUserProperty, oItem Dim i, iID Set oMAPI=oOutlook.GetNameSpace("MAPI") Set oObjRecipient=oMAPI.CreateRecipient(oElo.DelOutlookName) Set oFolder=oMAPI.GetSharedDefaultFolder(oObjRecipient,13) Set oItems=oFolder.Items For i=1 To oItems.Count Set oItem=oItems(i) iID=oItem.UserProperties(1).Value If iID=oElo.WvIdent Then oItem.Delete Exit For End If © 1998..2002 ELO Digital Office
GmbH
Page: 39
ELOprofessional - OLE Automation Interface
02.03.2007
Next End Sub ' --------------------------------------' Reminder date as Outlook task ' --------------------------------------Sub WVInOutlookTask Dim oMAPI, oObjRecipients, oObjRecipient, oFolder, oItems Dim oUserProperties, oUserProperty, oItem Dim i, iID Set oMAPI=oOutlook.GetNameSpace("MAPI") Set oObjRecipient=oMAPI.CreateRecipient(oElo.OutlookName) Set oFolder=oMAPI.GetSharedDefaultFolder(oObjRecipient,13) Set oItems=oFolder.Items If oElo.WVNew=1 Then Set oItem=oItems.Add oItem.Subject=oElo.WVShort oItem.Body=oElo.WVDesc Set oObjRecipients=oItem.Recipients oObjRecipients.Add(oElo.OutlookName) oItem.Importance=oElo.WVPrio oItem.StartDate=oElo.WVDate Set oUserProperties=oItem.UserProperties Set oUserProperty=oUserProperties.Add("WvId",3) oUserProperty.Value=oElo.WVIdent oItem.Save Else For i=1 to oItems.Count Set oItem=oFolder.Items(i) Set oUserProperty=oItem.UserProperties(1) iID=oUserProperty.Value If iID=oElo.WvIdent Then oItem.Subject=oElo.WVShort oItem.Body=oElo.WVDesc Set oObjRecipient=oItem.Recipients(1) oObjRecipient.Delete Set oObjRecipients=oItem.Recipients oObjRecipients.Add(oElo.OutlookName) oItem.Importance=oElo.WVPrio oItem.StartDate=oElo.WVDate oItem.Save Exit For End If Next End If End Sub ' -----------------------------------' Reminder date as Outlook mail ' -----------------------------------Sub WVInOutlookMail Dim oMail Set oMail=oOutlook.CreateItem(0) oMail.Recipients.Add(oElo.OutlookName) oMail.Subject="[" & Chr(oElo.WvPrio+64) & "] -> " & oElo.WVDate & ": " & oElo.WvShort & " / (ELOprofessional)" oMail.Body=oElo.WvDesc oMail.Send End Sub ' ------------------------© 1998..2002 ELO Digital Office
GmbH
Page: 40
ELOprofessional - OLE Automation Interface
02.03.2007
' Workflow as Outlook task ' ------------------------Sub WFInOutlookTask Dim oMAPI, oObjRecipients, oObjRecipient, oFolder, oItems, oItem Set oMAPI=oOutlook.GetNameSpace("MAPI") Set oObjRecipient=oMAPI.CreateRecipient(oElo.WFOwner) Set oFolder=oMAPI.GetSharedDefaultFolder(oObjRecipient,13) Set oItems=oFolder.Items Set oItem=oItems.Add oItem.Subject="[W] " & oElo.WFFlowName & ": " & oElo.WFName & " / (ELOprofessional)" oItem.Body=oElo.WFComment oItem.StartDate=Date Set oObjRecipients=oItem.Recipients oObjRecipients.Add(oElo.WFOwner) oItem.Save End Sub ' ------------------------' Workflow as Outlook mail ' ------------------------Sub WFInOutlookMail Dim oMail Set oMail=oOutlook.CreateItem(0) oMail.Recipients.Add(oElo.WFOwner) oMail.Subject="[W] " & oElo.WFFlowName & ": " & oElo.WFName & " / (ELOprofessional)" oMail.Body=oElo.WFComment oMail.Send End Sub '----------------------------------------------'----------------------------------------------Sub Main Set oElo=CreateObject("ELO.professional") If Not GetOutlookObj Then oElo.ScriptActionKey=-1 Exit Sub End If Select Case oElo.ActionKey Case 1 WVDeleteOutlook WVInOutlookTask Case 2 WVInOutlookTask Case 3 WVInOutlookMail Case 4 WFInOutlookTask Case 5 WFInOutlookMail End Select End Sub Main
© 1998..2002 ELO Digital Office
GmbH
Page: 41
ELOprofessional - OLE Automation Interface
02.03.2007
Keyword Lists (ELO_BUZZLIST) In case different keyword lists are to be displayed behind an index line, depending on the user or environment, the ELO_BUZZLIST script is available. With the ViewFileName parameter, the client notifies the script which keyword list would be displayed by default. This parameter can then be changed by the script and the view can be directed to a different keyword list. From Version 5.0 on the keyword lists are stored in the database. In this case the script is requested with some other parameters. The identifier for the database request is passed on by the ScriptActionKey property, it has the value 1000 (in the old form here the index line number was assigned). ViewFileName contains the group name of the index line and ActionKey shows with 1 or 2, if the request comes from the subject data dialog or from the mask dialog or the main menu. If the group name is changed , you can switch script-controlled to another keyword list, because the collecting of the list is controlled by this entry. Please note, that in the version 5.0 there is no differentiation between selecting and editing the list. If the user owns the right to edit the key keyword list, then it is possible to add new keyword entries directly in the selection. Example 4.0: Option Explicit Dim Elo '----------------------------------------------Sub Main Dim iRet Dim sGroup Dim aGNum Dim iNum, i Dim sFileName Set Elo=CreateObject("LeitzElo.Elo32") If Elo.ViewFileName="ELOVER.SWL" then iRet=Elo.ReadUser(Elo.ActiveUserId) sGroup=Elo.UserGroups If sGroup="" Then Exit Sub aGNum=Split(sGroup,",",-1,1) iNum=UBound(aGNum) If iNum=0 Then Elo.ViewFileName=aGNum(0) & "_" & Elo.ViewFileName Exit Sub End If ReDim aGName(iNum+1) iRet=Elo.CreateAutoDlg("Select group keyword list:") For i=0 To iNum iRet=Elo.AddAutoDlgControl(3, 1,Elo.LoadUserName(aGNum(i)),"0") Next iRet=Elo.ShowAutoDlg If iRet=0 Then Exit Sub sFileName="" For i=0 To iNum If Elo.GetAutoDlgValue(i+1)="1" Then sFileName=aGNum(i) & "_" & Elo.ViewFileName End If Next If sFileName"" Then © 1998..2002 ELO Digital Office
GmbH
Page: 42
ELOprofessional - OLE Automation Interface
02.03.2007
Elo.ViewFileName=sFileName End If End If End Sub '----------------------------------------------'----------------------------------------------Main Example 5.0 Set Elo=CreateObject("ELO.Professional") if Elo.ScriptActionKey = 1000 then UserName = Elo.LoadUserName( Elo.ActiveUserId ) MsgBox Elo.ViewFileName & vbcrlf & UserName Elo.ViewFileName = Elo.ViewFileName & "." & UserName End if
© 1998..2002 ELO Digital Office
GmbH
Page: 43
ELOprofessional - OLE Automation Interface
02.03.2007
Automatic Action when Starting the Program (ELO_START) Although there are explicit events "when accessing an archive" and "when exiting an archive", we have additionally defined a script (ELO_START.VBS) which starts automatically, which is requested during these actions without having to be set in the client. The script can differentiate between the two states with the ActionKey property (1: Accessing, 2: Exiting). If the explicit script event as well as the automatically starting script have been set, both scripts are executed. Upon starting, first of all the automatic, then the explicit is executed, and vice versa when exiting.
Project Default for Activities (ELO_CHECKPROJ) In many cases, when creating a new activity for a document, the subject data of the document reveal which project this new entry belongs to. For this purpose, ELO requests the ELO_CheckProj script, which can detect the information via the PopupObjectId and which can return the project name via the ViewFileName property. ' There is only one project with the name ELO set Elo=CreateObject("ELO.professional") Elo.ViewFileName="ELO" Within this call, the parameter ActionKey contains following values: 1: 2: 3: 4: 5:
Creation of a new Activity, Project name can be changed. Creation of a remind item. Activation of the reminder items list. Closing an activity item. Editing an activity item.
This event will not be called if more than one activity has been selected for change (5) or by closing the item via the "done" button (4). Setting the ScriptActionKey to 1 or 2 will suppress the dialog, in this case you can show your own dialog instead. ScriptActionKey 1 signals a "ok", 2 signals an "abort".
Special Handling Upon New Storage of Documents When a document is added to the archive for the first time, a script can take control of the storage process. The process becomes active as soon as the user adds a new document to the archive, either from the postbox or via drag & drop from Windows Explorer. Immediately before ELO displays the storage mask, it is checked whether a script named "ELO_EXT_[Extension]" is available in the system, so a specific handling can be linked to a document type (e.g. "ELO_EXT_DWG" for handling AutoCAD drawings). If the respective script is available, it is started. The ELO property ViewFileName contains the name of the file to be stored, the ObjMainparent property contains the ID of the storage structure element, to which the user has added the document. The script can now carry out the complete document storage on its own, e.g. additional documents that are linked to the original document can be added to the archive with this process. The subject data creation must be carried out within the script. Via the ScriptActionKey property, ELO is informed that the storage process has been taken over by the script, so that no further actions are required by ELO itself. For this purpose, the property is set to the value -30.
Suppress “Document of the Backup” Dialog (ELO_READDOC) If a document is not loaded in the archive view, a dialog appears which offers the user a selection between cancel, try again and load again from backup. By the ELO_READDOC script you can suppress this dialog and effect the decision of the user by an own script. This behaviour is controlled by the ScriptActionKey property. Following values are available: 0:
Show normal dialog
© 1998..2002 ELO Digital Office
GmbH
Page: 44
ELOprofessional - OLE Automation Interface 1: 2: 3:
02.03.2007
No dialog, go on with “cancel” No dialog, go on with “retry” No dialog, go on with “from backup”
Caution: This request runs in a loop until the document is either loaded or the user decided to cancel. If you always choose “retry” or “backup” in the script and the document cannot be loaded, the program gets stuck at this position.
Own Reports You can select various preset activity reports from the context menu in the archive view. In addition, you can create up to 4 of your own reports here. All reports are possible that can be triggered via a WHERE clause with an SQL command. The own reports are selected via a script. For this purpose, you must create an entry with the name ELO_ACTSELECT. This contains two actions each for each of the 4 possible reports: a) issue the name in the menu and b) compose the SQL command. For this purpose, the values 1..4 are transferred for a) and values 101..104 for b) in the "ActionKey" property. The script returns the desired value in the ViewFileName property. Example: Set Elo=CreateObject("ELO.professional") select case Elo.ActionKey case 101 Elo.ViewFileName="Recp m.thiele" case 1 Elo.ViewFileName="destination like 'm.thiele'" case 102 Elo.ViewFileName="Back today" case 2 ToDay=Date IsoToDay=Right(ToDay,4)+Mid(ToDay,4,2)+Left(ToDay,2) Elo.ViewFileName="backat like '"&IsoToDay&"'" end select
© 1998..2002 ELO Digital Office
GmbH
Page: 45
ELOprofessional - OLE Automation Interface
02.03.2007
Requesting Scripts The scripts created within the script management can be requested in various ways: -Request from the context menu of the icon bar: In any ELO view, press the right mouse button when the cursor is positioned on the icon bar, you can then start one of your scripts from the menu which is subsequently displayed. -Request via User button: In each view, 8 buttons are available that can be allocated to one script each. For this purpose, first of all the script menu must be opened (press right mouse button on icon bar) once the cursor is placed on one of the four buttons. If a menu option (=script name) is now selected with the Ctrl key pressed down at the same time, this script is allocated to the button of the current view. The current allocation becomes visible when the mouse is positioned above the button. If a script allocation is to be removed from the button, click on the button with the Ctrl key pressed down. After reinstallation of ELO, the buttons are not visible by default and may have to be activated with the Configure toolbar view function. In order to display an icon on the script button, a BMP file must be created sized 24 x 24 pixels, and stored under the name of the script in the ELO script directory. -Request via context menu: In each view, the respective context menu can be supplemented by script requests. If a script is to be added to the context menu of a certain view, this view must first be selected. The respective script is then selected in the context menu of the icon bar while pressing down the Shift and Ctrl keys at the same time. In order to remove a script from the context menu, the script is selected in the context menu while the Ctrl key is pressed down. -Request via ELO menu options or buttons: Each menu item and each button in the ELO main view can be allocated to a script, which is then requested instead of the original function. Within the script it can be determined whether the original ELO function is still to be requested after the end of the script or whether it is going to be discarded. This script allocation is carried out via the internal name of a menu option or button. The name of the script must begin with a ".", followed by the control name (menu option or button). A list of the controls can be found in the documentation’s appendix of the ELO automation interface. When the script is requested for the first time, the ActionKey property has the value 40. The script can control the subsequent process by setting the ScriptActionKey property. 20 = Original ELO function is requested at the end of the script 21 = Original ELO function is requested at the end of a script, then the script is started again, this time with the ActionKey 0.
© 1998..2002 ELO Digital Office
GmbH
Page: 46
ELOprofessional - OLE Automation Interface
02.03.2007
Form Detection API Overview The form detection in ELO proceeds within two or fore steps. In a first step the rectangle areas of the document are marked, which are necessary for the classification of the document type. Typical areas here are the texts “invoice” or “delivery note” or as well a firm name (no graphic elements). This areas then are edited, detected and filed in a text list by the OCR software. For this there is the extended OCR API from version 2.05.104 on. In a second step now is searched for characteristic patterns for every document type in the detected texts. If a certain invoice has the text “invoice” followed by an invoice number at a pretended place (in the upper activated rectangle list), thus only the appropriate invoice text has to be checked for this pattern for the detection of this form. For this the pattern detection API (also new from version 2.05.104 on) is used. If the form type was detected, it can be proved to be necessary to read additionally text regions. So you can detect in addition to the invoice form the order number, customer number or the invoice amount. In principle this step can occur directly with step 1. But thereby please note, that in this step you would have to analyze all rectangle areas for all possible document on suspicion. Since that can be very complex (time-consuming), in general it is more reasonable for a larger amount of types to displace this to a third step. After all text regions are read and the document type is certain, now the indexing has to be extracted systematically out of the text blocks. At this fourth step (which maybe was already covered by step two in easy applications) the pattern detection API is used again.
Commands of the Pattern Detection-API Function OcrAddRect Function OcrAnalyze Function OcrClearRect Function OcrGetPattern Function OcrGetText Function OcrPattern The use of this commands is demonstrated in the following examples. The exact parameters you can extract from the command list.
Examples Example 1: invoice detection This first example emanates from a quite simple case. There are only two possible document types, an invoice and the rest of the world. Only the invoice number shall be indexed. In the first step the rectangle list with the region for the invoice text with the appropriate number is set by the OCR-API and the detection starts. x=ELO.OcrClearRect() x=ELO.OcrAddRect("500,10,999,100") x=ELO.OcrAnalyze(FileName,0)
© 1998..2002 ELO Digital Office
GmbH
Page: 47
ELOprofessional - OLE Automation Interface
02.03.2007
In the second step now is checked, if the form is an invoice. For this it is checked, is the text “invoice” followed by the invoice number can be detected in text block 1. CntRechnung=ELO.OcrPattern(10,"*'Invoice'_N*", ELO.OcrGetText(0)) Here it is searched for a pattern of 5 parts: 1. Any, maybe empty, prefix of any characters (e.g. because from above foreign characters rise into the rectangle caused by an unpurified scanner feed) 2. The text ‘invoice’ 3. Any long, maybe empty, string of empty characters 4. A number (invoice number) 5. any further text (e.g. also the characters that do not belong to the current text but which rise into the detection rectangle) If the pattern was detected, the function returns the value 5 (= number of pattern parts), in case of an error you receive a negative value. After that the text for the several pattern parts is available in a text field. If CntRechnung=5 then ’ it is an invoice, 5 pattern blocks were detected ELO.PrepareObjectEx(0,254,InvoiceMaskNo) ELO.SetObjAttrib(0, ELO.OcrGetPattern(3)) … end if The four-step work in this simple example reduces to two steps. Step 3 escapes, since no further OCR regions have to be read and step 4 escapes, because the indexing was already detected during the classification. By the check, if it is an invoice, the invoice number was also immediately imported in the pattern text field and can be used directly. Example 2: Invoice/Delivery note detection This example still emanates from a quite simple case. There are only two possible document types, an invoice and a delivery note. Only the invoice or the delivery note number each shall be indexed. In the first step the rectangle list with the two regions for the invoice text respectively the delivery note text, with the appropriate number each, is set and the detection starts. x=Elo.OcrClearRect() x=Elo.OcrAddRect("500,250,999,390") x=Elo.OcrAddRect("500,10,999,100") x=Elo.OcrAnalyze(FileName,0) Following it is checked, if the form is an invoice or a delivery note. For this it is checked, if the text ‘invoice’ can be detected in text block 1 or if the text ‘delivery note’ exists in text block 2. CntInvoice=Elo.OcrPattern(10,“*’Invoice’*“, Elo.OcrGetText(0)) CntDeliveryNote=Elo.OcrPattern(10,“*’Delivery Note’*“, Elo.OcrGetText(1)) If CntInvoice0 then ' directory found, now creating the tab if Elo.PrepareObjectEx( 0,253,0 ) then © 1998..2002 ELO Digital Office
GmbH
Page: 50
ELOprofessional - OLE Automation Interface
02.03.2007
Elo.ObjShort= Customerno x=Elo.SetObjAttrib(0,Right(Date,4) & ":" & Customerno) x=Elo.SetObjAttribKey(0,"RELO") Elo.ObjFlags=4 Elo.ObjIndex="#" & DirectoryId Elo.UpdateObject() RegId=Elo.GetEntryId(-2) end if end if end if CheckRegister=RegId end function ' this function executes an OCR analysis for the current postbox ' document and puts the invoice number into the short name if a ' known document type was found sub Analyze( iPostLine, FileName ) x=Elo.OcrClearRect() x=Elo.OcrAddRect("500,250,999,390") x=Elo.OcrAddRect("500,10,999,100") x=Elo.OcrAnalyze(FileName,0) if x0 then 'ELO Invoice Elo.ObjShort=Left(Elo.OcrGetPattern(3)&" ",10) & " " &Elo.OcrGetPattern(6) & " " & Elo.OcrGetPattern(12) x=Elo.SetObjAttrib(0,Elo.OcrGetPattern(12)) x=Elo.SetObjAttrib(1,Elo.OcrGetPattern(3)) x=Elo.SetObjAttrib(2,Elo.OcrGetPattern(9)) Elo.ObjXDate=Elo.OcrGetPattern(6) found=true end if end if if not found then 'ELO Credit x=Elo.OcrPattern( 10,"*'Credit'L'Number:'NL'Date:'*L'OrderNo.:'NL'Customer-No.:'N*", Elo.OcrGetText(0)) if x>0 then Elo.ObjShort=Left(Elo.OcrGetPattern(4)&" ",10) & " " &Elo.OcrGetPattern(7) & " " & Elo.OcrGetPattern(13) x=Elo.SetObjAttrib(0,Elo.OcrGetPattern(13)) x=Elo.SetObjAttrib(1,Elo.OcrGetPattern(4)) x=Elo.SetObjAttrib(2,Elo.OcrGetPattern(10)) Elo.ObjXDate=Elo.OcrGetPattern(7) found=true end if end if © 1998..2002 ELO Digital Office
GmbH
Page: 51
ELOprofessional - OLE Automation Interface
02.03.2007
if not found then 'NOKIA Invoice x=Elo.OcrPattern( 10,"*'Invoice'n*'Customernumber'N*", Elo.OcrGetText(1) ) if x>0 then Elo.ObjShort=Left(Elo.OcrGetPattern(2)&" ",10) & " 01.01.2000 " & Elo.OcrGetPattern(5) x=Elo.SetObjAttrib(0,Elo.OcrGetPattern(5)) x=Elo.SetObjAttrib(1,Elo.OcrGetPattern(2)) Elo.ObjXDate="01.01.2000" found=true end if end if if found then iRet=Elo.AddPostBoxFile("") end if Elo.Status "Detect line " & i & " : " & Elo.ObjShort end sub
© 1998..2002 ELO Digital Office
GmbH
Page: 52
ELOprofessional - OLE Automation Interface
02.03.2007
Syntax of the format strings of the pattern detection For the pattern detection only a format string is to be pretended. The check, if the text is enough for this pattern and the division of the text into the pattern parts is accomplished in one step in ELO. Please note, that a pattern may be made up of at most 32 parts (in version 104, maybe later it is changed). Following pattern parts are available: *
Any text
This partial pattern accepts any text, it can also be empty. You can specify additionally a length in front of the star, the detected text has to be at least as long as the presetting claims.
_
Empty character
This partial pattern accepts any , also empty, string of empty characters. Specifying a length in front of the underscore leads to a detection of a string with the exact presetting.
L
Line break
This partial pattern detects a line break (exactly one). A number in front of the L (e.g. 3L) claims exactly this amount of line breaks.
N
Number
It is detected any long string of numerics (but no empty string). The first character which is no numeric closes this string (line break and empty characters as well). If a multiplier is prefixed, a numeric string of exactly this length is detected. Example: ABC12345XYZ *N* detects [ABC][12345][XYZ] *3N* detects [ABC][123][45XYZ] *6N* detects nothing, because there is no numeric string of this length.
n
Number (special OCR)
As for N (Number) – the difference is, that this form accept also letters, which are similiar to certain numerics (O, o and Q are detected as a 0 (zero), I and l are detected as 1 (one).
“...“
Text
The text between the double quotes is accepted. Thereby the text has to be existent exactly in this form, no additional empty characters or line breaks are detected. Example: xyzInvoice 123
’...’
Text
*“Invoice“_N* detects [xyz][Invoice][ ][123][] *“Invoice“N* detects nothing, the empty character was not considered in the format string *“INVOICE“_N* detects nothing, because invoice is written another way As for the double quotes, but the text is not detected case sensitively. In the example above only the third case would be detected.
Annotations
© 1998..2002 ELO Digital Office
GmbH
Page: 53
ELOprofessional - OLE Automation Interface
02.03.2007
Please note, that the detection algorithm searches until it reaches a “match” or until it is sure, that there is none. It does not get stuck at partial solutions. An innocent implementation could locate the text “invoice” of the invoice copy at the pattern “*’invoice’_N*” and the text “xxx invoice copy yyy invoice 12345 zzz” and after no number is following, it could abandon. ELO whereas goes on with its search after this failure and detects the text as you are expecting it. Especially the pattern * causes a high internal efford, since in case of doubt many possibilities must be analyzed. Anyway it often is necessary to use this operator. Particularly the patterns should be framed in general by a *…*. By that “grungy characters” are intercepted at the beginning or the end of the text. There are often caused by foreign characters, which rise into the detection rectangle. Anyway it should be used only where it is justified. The unnecessary, but seeming harmless combination ** does not change the detection result, but it has a very adverse influence on the performance. The pattern ** forces ELO to control the possibilities [][abcd], [a][bcd], [ab][cd], [abc][d], [abcd][] of the text “abcd”. Don’t put too much in one pattern. If you have rectangle with successive lines with invoice number , customer number, order number and job number in an invoice, you can search singly for every number. But you can also formulate a complex search pattern *’invoice’_N*’customer’_N*’order no.’_N*’job’_N*. In the second case all numbers would be expected in one pass. But as soon as one of these numbers was not realized correctly by the OCR software (e.g. cuslomer instead of customer) no more numbers will be detected. If the indexing is interesting you only if all was detected, the second variant is adequate. If you hold the view, that as much as possible should be detected and only the missing parts have to be supplemented, then you should let the number be detected singly. Even for complex patterns it can easily happen, that it is not detected although the text should allow that. Since there are no special “pattern debugger”, here only a stepwise try and error can help. Beginning with the “defective” pattern *’invoice’_N*’customer’_N*’order no.’N*’job’_N* you can test *’invoice’* in one step. After that you check *’invoice’_N* *’invoice’_N*’customer’* *’invoice’_N*’customer’_N* etc... The pattern is always extended by one (or more too) step(s). Mind, that you always finish the pattern with a *. This * is the match for the whole rest. If it is missing, nothing will be detected.
© 1998..2002 ELO Digital Office
GmbH
Page: 54
ELOprofessional - OLE Automation Interface
02.03.2007
List of the Available OLE Functions General Information about the Functions The return values of the functions normally contain an error code. In these cases, negative values indicate a function failure, positive values indicate correct execution. ELO works internally with so-called ObjectIDs. These are (within an archive) unique values, which are allocated to each entry upon creation and via which the entries can be requested again at any time. If you require any references directly from ELO in your program and want to store them, you should use this ObjectId and not the name. The ObjectId remains unchanged and guaranteed for the entire duration of the entry, however, the name can be changed by the user or by other programs.
© 1998..2002 ELO Digital Office
GmbH
Page: 55
ELOprofessional - OLE Automation Interface
02.03.2007
Property ActionKey (int, read only) Some ELO events together trigger a script handling. In this case it can be determined via the ActionKey what kind of event has occurred. Dialog: Edit document
Dialog opened in postbox view, document type not yet defined Mask accessed Mask closed with Save Mask closed with Cancel Document type changed Request button list Short name field accessed Short name field closed Memo field accessed Memo field closed Date field accessed Date field closed Index entry line n accessed Index entry line n closed Pressed user-defined button Before importing a storage structure element Before exporting a storage structure element After checking out Before checking in, after requesting version After checking in Before checking out Before checking in, before requesting version Before discarding Before activating/displaying Before printing Register CheckIn/Out Immediately before saving After saving After reading Before editing the keyword list Before displaying the keyword list Date as task for other user Date as task for own use Date as e-mail Selection of a button or menu option Only display workflow date in ELO Workflow date as task Workflow date as e-mail Before printing
Event: After edit mask field
Before importing/exporting When checking in/out
Reading/saving user Keyword list Reminder ClickOn Event Workflow Event Freezing the document
19 20 21 22 23 24 10 11 12 13 14 15 1000+n (n=0..49) 2000+n 3000+n 1 2 30 31 32 33 34 38 80 81 1001…1005 20000 20001 20010 1 2 1 2 3 40 3 4 5 0
These numbers are overwritten by the value 0x8000, if it is a research mask and not a data mask. This information must be evaluated by all means, otherwise there may be undesired effects when trying to find documents! Example (store as AutoShortdes script and enter under "When editing the subject data" script event): ' here the number of the document mask is to be stored © 1998..2002 ELO Digital Office
GmbH
Page: 56
ELOprofessional - OLE Automation Interface
02.03.2007
' which is to automatically enter the short name from the index lines ' one and two via the script. DocumentMask = 2 Set Elo=CreateObject("ELO.professional") if Elo.ActionKey=21 and Elo.ObjMaskNo=DocumentMask and Elo.ObjShort="" then ' writing occurs at the end of the subject data, if the ' correct mask is set and no short name is available yet. Elo.ObjShort=Elo.GetObjAttrib(0) & " " & Elo.GetObjAttrib(1) end if Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 57
ELOprofessional - OLE Automation Interface
02.03.2007
Function ActivateFlow With this function a process is started within the process control. int ActivateFlow (int FlowID, int ObjectID, int FlowUser, AnsiString FlowName) Parameters: FlowID ObjectID FlowUser FlowName
Internal ELO number (ID) of the process scheme (e.g. determined with FindFlowTemplate) Internal ELO number (ID) of the ELO object which is allocated to the process ID of the user who starts the process Name of the new process
Return values: -2: -1: >=0:
Error when activating the process No work area active ID of the newly started process scheme
Example: newCaption="sub " & elo.NodeFlowName if Left(newFlowName,5)="CALL " then newFlowName=Trim(Mid(newFlowName,6,100)) newFlowNo=elo.FindFlowTemplate(newFlowName) if newFlowNo>0 then if elo.OpenChildNodes>0 then if elo.GetChildNode>0 then FlowId=elo.NodeFlowId NodeId=elo.NodeId Dept=elo.NodeDepartment EloId=elo.NodeObjectId Msg = FlowId & "," & NodeId & "," & EloId & "," & Dept 'MsgBox Msg res=elo.ActivateFlow(newFlowNo, EloId, elo.ActiveUserId, newCaption & "¿" & Msg) if res0:
Invalid note type 1..3 Target object is not a document Target object could not be determined Error when writing the self-adhesive note No work area active Saving ok, return value is internal note number
Available from: 4.00.138
© 1998..2002 ELO Digital Office
GmbH
Page: 64
ELOprofessional - OLE Automation Interface
02.03.2007
Function AddPostboxFile This function transfers one file to the postbox. For this purpose, a new entry must be prepared first of all with PrepareObject, the short name and other values must be set via the various properties and the function must then be requested. The file is then copied and stored in the postbox together with the subject data. After requesting this function, the new entry then automatically becomes the "active postbox entry", it then is the source for some further functions. There is another special case for this function: when the "active postbox entry" is changed and is to be saved again in the postbox, this function is requested with an empty string as parameter. This opportunity is for example used by the barcode postprocessing. int AddPostboxFile (AnsiString SourceFile) Parameters: SourceFile
file to be copied
Return values: -3: -2: -1: 1:
Error when saving. No active postbox entry available Error when transferring to postbox Ok
Example: open first postbox document, allocate mask number 2 to it and automatically enter the short name as well as first index field. Afterwards, the document is transferred to the archive on the path prescribed: ' Target tab for the document RegisterId = "¿Cabinet¿Folder¿Tab" MaskNo = 2 Set Elo=CreateObject("ELO.professional") ' To be sure, first update the postbox Elo.UpdatePostbox x=Elo.PrepareObjectEx(-1, 0, MaskNo) if x>0 or x=-5 or x=-7 then Elo.ObjShort="Test" & Time call Elo.SetObjAttrib(0,"Index 1") call Elo.AddPostboxFile("") x=Elo.MoveToArchive(RegisterId) else MsgBox "No document found in postbox" end if Also see:
MoveToArchive LookupIndex UpdateDocument InsertAttachment
© 1998..2002 ELO Digital Office
GmbH
Page: 65
ELOprofessional - OLE Automation Interface
02.03.2007
Function AddSignature This function adds an extern signature file to an existing document. The script has the responsibility to guarantee, that the signature actually belongs to the document. In case of an error an invalid signature is displayed to the user. int AddSignature (int ObjectId, AnsiString SignatureFile) Parameters: ObjectId SignatureFile
Logical ELO Document-Id File with the information of the signature
Return values: -2: -1: 1:
Error while saving the signature file No workspace open Ok
Example: ... Result = Elo.MoveToArchive( DestPath ) If Result > 0 then Id = Elo.GetEntryId(-2) MsgBox Elo.AddSignature( Id, "d:\temp\00016882.ESG" ) End if ... Available from: 4.00.180 See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 66
ELOprofessional - OLE Automation Interface
02.03.2007
Function AddSw Adds a new entry into a keyword list. Each entry contains a unique two letter level information: AA, AB, AC .. ZZ per level. The root level starts with a dot. „.AAABAC“ starts at the base with the first entry, within this with the second subentry, within this selects the third subentry. The group parameter is connected to the group entry in the keywording form. AnsiString AddSw( AnsiString Group, AnsiString Parent, AnsiString NewEntry) Parameters: Group Parent NewEntry
Selects a keyword list Path of the subtree New keyword entry
Return values: -1: no work area active -2: error when writing -3: invalid or unknown parent path others: Position of the new entry Example ... Set Elo=CreateObject("ELO.professional") call Elo.DeleteSwl( "THM", "." ) MsgBox MsgBox MsgBox MsgBox MsgBox MsgBox
Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw(
"THM", "THM", "THM", "THM", "THM", "THM",
".", "1" ) ".AA", "1.1" ) ".AA", "1.2" ) ".AA", "1.3" ) ".", "2" ) ".", "3" )
MsgBox Elo.ReadSwl( "THM", ".", " - " ) MsgBox Elo.ReadSwl( "THM", ".AA", " - " ) call Elo.UpdateSw( "THM", ".AB", "2a" ) MsgBox Elo.ReadSwl( "THM", ".", " - " ) ... Available from 5.00.066
© 1998..2002 ELO Digital Office
GmbH
Page: 67
ELOprofessional - OLE Automation Interface
02.03.2007
Function AddThesaurus This function creates a Thesaurus entry in the database. Every Thesaurus group has to own an explicit group number (GroupId), if you assign a 0 to the group at the first entry, ELO acquires a new random number. The Prio parameter defines the sort order, the ListId parameter has to be set permanently to 1 at the moment (Thesaurus in the subject data dialog). int AddThesaurus (int ListId, int GroupId, int Prio, AnsiString Value) Parameters: ListId GroupId Prio Value
Region, set to 1 for the subject data Thesaurusgroup, 0: acquire a new group Sort order Text
Return values: -2: -1: >0:
Error while saving the file No workspace open Ok, GroupId
Example: Set Elo=CreateObject("ELO.professional") Group = Elo.AddThesaurus( 1, 0, 10, "Tool" ) MsgBox Group if Group > 0 then MsgBox Elo.AddThesaurus( 1, Group, 20, "Hammer" ) MsgBox Elo.AddThesaurus( 1, Group, 30, "Screwdriver" ) MsgBox Elo.AddThesaurus( 1, Group, 40, "Nippers" ) end if Available from: 4.00.214
© 1998..2002 ELO Digital Office
GmbH
Page: 68
ELOprofessional - OLE Automation Interface
02.03.2007
Function AnalyzeFile This function sends the content of a postbox file to the OCR module and enters the detected sections into predefined mask fields. The name of the postbox file can be transferred with SourceFile. Alternatively, in this parameter a line number (#0, #1, #2 ...) can be transferred. The respective file from the postlist is then used as file name. After detection, the result is saved in the keyword file for the image file. The OcrDescriptor parameter contains the list of the rectangles to be checked and the mask fields to be filled. A detailed description of this list can be found in the barcode documentation. Compared to the barcode module, the rectangle must be defined as follows: "R(left,top,right,bottom)" int AnalyzeFile (AnsiString SourceFile, AnsiString OcrDescriptor, int MaskNo) Parameters: SourceFile OcrDescriptor MaskNo
File to be checked or postlist line numbers (with #number). Rectangle list, in barcode format. Document type of the keyword file to be created
Return values: -6: -5: -4: -3: -2: -1: 1: Also see:
error while writing the detected data error during OCR editing faulty rectangle list no rectangle list available OCR subsystem not loaded no workspace open ok AddPostboxFile ReadBarcodes
© 1998..2002 ELO Digital Office
GmbH
Page: 69
ELOprofessional - OLE Automation Interface
02.03.2007
Property ArchiveDepth (int) With this property you can determine the number of hierarchy levels of the current archive. For this the level of the documents is included in the count, i.e. a classic ELO archive with the file structural elements CabinetFolder-Tab-Document has 4 hierarchy levels. If the archive view is not active yet, the ArchiveDepth property has the value –1. Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 70
ELOprofessional - OLE Automation Interface
02.03.2007
Function ArcListLineId With this function the ELO ObjectId of a line from the right archive list can be detected. int ArcListLineId (int LineNo) Parameters: LineNo
Line to be selected
Return values: -2: -1: >0:
Invalid line number No work area active ObjectId
Available from: 5.00.036 Example: Set Elo = CreateObject( "ELO.professional" ) for i = 0 to 8 res = res & Elo.ArcListLineSelected( i ) & " - " & Elo.ArcListLineId( i ) & ", " next for i = 0 to 3 Elo.SelectArcListLine( i ) next for i = 4 to 7 Elo.UnselectArcListLine( i ) next Elo.SelectArcListLine( 8 ) MsgBox res See also:
UnselectArcListLine SelectArcListLine ArcListLineSelected
© 1998..2002 ELO Digital Office
GmbH
Page: 71
ELOprofessional - OLE Automation Interface
02.03.2007
Function ArcListLineSelected With this function you can check, if a line is selected in the right archive list. int ArcListLineSelected (int LineNo) Parameters: LineNo
Line to be selected
Return values: -2: -1: 0: 1:
Invalid line number No work area active Line not selected Line selected
Available from: 5.00.036 Example: Set Elo = CreateObject( "ELO.professional" ) for i = 0 to 8 res = res & Elo.ArcListLineSelected( i ) & " - " next for i = 0 to 3 Elo.SelectArcListLine( i ) next for i = 4 to 7 Elo.UnselectArcListLine( i ) next Elo.SelectArcListLine( 8 ) MsgBox res See also:
UnselectArcListLine SelectArcListLine
© 1998..2002 ELO Digital Office
GmbH
Page: 72
ELOprofessional - OLE Automation Interface
02.03.2007
Function AssignWorkflowUser (int) With the aid of this function workflow nodes which are addressed to a user group can be assigned to a single user. By that the function “accept workflow” of the client can be cloned. int AssignWorkflowUser (int iLine, int iUserID, int iFlags) Parameters: iLine
Line number of the entry inside the task list (0-indexed) -1 = use currently selected line ID of the user, who shall receive and edit the node, the currently logged-in ELO-user can be entered by the ActiveUserID property reserved
iUserID iFlags Return values: -7 -6 -5 -4 -3 -2 -1
Error while assigning the new user Line contains no workflow entry with group node Line contains no workflow entry Invalid line number (at iLine-1) No line selected (at iLine=-1) Task view not active No work area active
Available from: 4.00.220
© 1998..2002 ELO Digital Office
GmbH
Page: 73
ELOprofessional - OLE Automation Interface
02.03.2007
Property AttId (int) The AttId property defines the working version of the file appendix of a document. This entry has to be extracted of the list of the existing attachments, a foreign entry can lead to serious disfunctions here. Available from: 5.00.042 Example: Set ELO = CreateObject( „ELO.professional“ ) MsgBox Elo.AttId See also:
MaskKey DocKey DocKind DocPath
© 1998..2002 ELO Digital Office
GmbH
Page: 74
ELOprofessional - OLE Automation Interface
02.03.2007
Property AutoDlgResult (AnsiString) Available from:
Ver 3.00.228
This property transfers the result for all objects of the AutoDialog. The individual values are separated by a return. Example: Transfers the content of the Edit field. Elo.CreateAutoDlg ("New dialog") Elo.AddAutoDlgControl (4,1,"Name","") Elo.ShowAutoDialog MsgBox Elo.AutoDlgResult Also see:
CreateAutoDlg AddAutoDlgControl ShowAutoDlg GetAutoDlgValue
© 1998..2002 ELO Digital Office
GmbH
Page: 75
ELOprofessional - OLE Automation Interface
02.03.2007
Function Backup (int, int, int) The Backup and BackupPath functions aren’t supported by current clients anymore and are only listed in the OLE interface for compatibility reasons. Since version 3.0 the Backup-functions are executed by the backup server and not by the client anymore.
© 1998..2002 ELO Digital Office
GmbH
Page: 76
ELOprofessional - OLE Automation Interface
02.03.2007
Property BackupPath (AnsiString) The Backup and BackupPath functions aren’t supported by current clients anymore and are only listed in the OLE interface for compatibility reasons. Since version 3.0 the Backup-functions are executed by the backup server and not by the client anymore.
© 1998..2002 ELO Digital Office
GmbH
Page: 77
ELOprofessional - OLE Automation Interface
02.03.2007
Function BringToFront With the BringToFront function you can bring ELO into the foreground on the desktop and thus make it visible for the user if ELO has previously been hidden by other remotely controlled applications. void BringToFront () Parameters: none Return values: none Also see:
EloWindow
© 1998..2002 ELO Digital Office
GmbH
Page: 78
ELOprofessional - OLE Automation Interface
02.03.2007
Function ChangeObjAcl (int ObjId, AnsiString Acl, int Option) Available from:
3.00.???
With this function, the access rights for the objects can be allocated and/or changed. AnsiString ChangeObjAcl (int ObjId, AnsiString Acl, int Option) ObjId: Acl :
Internal ELO ID Rights to be allocated. Multiple rights are to be separated with a comma. Format : XYZ XY: RW – Write and read authorization RD – Read authorization WT – Write authorization KY – Key Z:
Option :
User number / Group number/ Key number
32 Bit integer mask x x x x x x x x x x x x x x x x x x x x x x x x x x x
00 01 02 03 04 x
0 0 0 0 0 4 3 2 1 0
0 – Add rights 1 – Overwrite rights 0 – Forward non-subordinated objects 1 – Forward to subordinated objects (not implemented) 0 – Forward identical rights (not implemented) 1 – Only forward changes (not implemented) 0 – Warning dialog for own rights removal on 1 – Warning dialog for own rights removal off 0– 1 – Accept predecessor rights (not implemented) At present unused (reserved for extensions)
Return value: -1 -2 -3
- No work area active - insufficient rights to carry out changes - User abortion in case of own rights removal (dialog)
Otherwise new object rights Example: Displays the current rights of object with ID 45. Rights = Elo.ChangeObjAcl (45,"",0) Sets the system key for object 30 and removes all others Elo.ChangeObjAcl (30,"KY0",1) Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 79
ELOprofessional - OLE Automation Interface
02.03.2007
Function CheckFile With the CheckFile function you can request various file properties. Int CheckFile (int OptionNo, AnsiString File name) Parameters: OptionNo: File name:
0: Check exclusive access to file Name of file to be checked
Return values: -2: -1: 1:
Exclusive access not possible Invalid number under OptionNo Ok
Available from: 3.00.288 Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 80
ELOprofessional - OLE Automation Interface
02.03.2007
Function CheckFileHash With the function CheckFileHash you can check a file, whether it is already filed in ELO. A dialog is submitted to the user in which the user can decide, if the document shall be filed anyway, a reference shall be entered instead or the storage is to be cancelled completely. Int CheckFileHash (AnsiString HeaderMessage, AnsiString FileName, int ModeMask) Parameters: HeaderMessage: Additional annotation in the dialog title (e.g. file name or description) FileName: Name and path of the file to be checked ModeFlag: Reserved, has to be set to 128 Return values: -2: -1: 0: 1: >1:
Document available, no storage No work area active, no control possible Document is not yet available in the archive Document available, file anyway Document available, set reference to this DocId
Example: Set Elo=CreateObject("ELO.professional") MsgBox Elo.CheckFileHash( "Testdatei", "d:\temp\Scandatei.tif", 128 ) Available from: 4.00.034 See also:
GetMD5Hash LookupHistMD5
© 1998..2002 ELO Digital Office
GmbH
Page: 81
ELOprofessional - OLE Automation Interface
02.03.2007
Function CheckIn Function CheckInEx With this function you can check in a document again that you had previously received from the archive via CheckOut. Please note that you must not change the file name, as this contains the ID for the archive used and the object number. Under ELOprofessional 3.0, the CheckIn command leads to a request of the version number and a comment. You can suppress this request by using the CheckInEx command, this information is sent as parameters instead. int CheckIn (AnsiString FileName) int CheckInEx (AnsiString FileName, AnsiString sComment, AnsiString sVersion) Parameters: FileName sComment sVersion
: Name of file to be checked in : Comment on the new document version : Version number
Return values: >0: -100: -1..-10
ObjectId of the document checked in No work area active CIO_LockError, CIO_PathError, CIO_CopyError, CIO_ExecError, CIO_UknError, CIO_NoDocument, CIO_ModeError, CIO_UserAbort, CIO_ArchiveError, CIO_ReadOnly
Example: function CryptIt(ObjId, key circuit) CryptIt=1 x=Elo.PrepareObjectEx(ObjId, 0, 0) if x0:
Invalid date entry ELO date value
Available from: 3.00.196 Also see:
IntToDate
© 1998..2002 ELO Digital Office
GmbH
Page: 103
ELOprofessional - OLE Automation Interface
02.03.2007
Function DeleteFlow(int, int) Removes an ELO Workflow without transferring it to the list of completet workflows. Only available for ELO Administrators. int DeleteFlow( int FlowId, int ObjId ) Parametes: FlowId: ObjId:
Workflow Id Attached ELO Object
Return values: -1: -2: -3: 1:
No work area active No deletion access rights Database delete error Workflow deleted
Example: Set ELO = CreateObject("ELO.professional") FlowId = 4711 ObjId = 12345 Result = ELO.DeleteFlow( FlowId, ObjId ) Available from: 5.00.126
© 1998..2002 ELO Digital Office
GmbH
Page: 104
ELOprofessional - OLE Automation Interface
02.03.2007
Function DeleteMask Deletes an ELO subject data mask. Before the Deleting operation it will be checked, if there are still entries with this mask in the archive or with the deleted but not yet permanently removed objects. If there are still entries, the command is cancelled with an error an in the TextParam property a list is located with the first 16 Object-Ids which use this mask. int DeleteMask (int MaskNo) Parameters: MaskNo: Number of the mask to be deleted Return values: -3: -2: -1: 1:
Database error while deleting There are still entries for this mask number No work area active Ok
Example: Set ELO = CreateObject("ELO.professional") MaskNo = ELO.LookupMaskName( "ThisMaskWillBeDeleted" ) if MaskNo > 0 then Res = ELO.DeleteMask( MaskNo ) if Res > 0 then MsgBox "Deleted" else MsgBox "Mask could not be deleted, Error number: " & Res & ", Objects: " & ELO.TextParam end if else MsgBox "Mask not found" end if Available from: 4.00.210 See also:
DeleteObj
© 1998..2002 ELO Digital Office
GmbH
Page: 105
ELOprofessional - OLE Automation Interface
02.03.2007
Function DebugOut This function sends a text to the Elo Debug window. void DebugOut (AnsiString Text) Parameters: Text
Text to be issued, sent to the Debug window together with time.
Return values: None Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 106
ELOprofessional - OLE Automation Interface
02.03.2007
Function DeleteObj Deletes an Elo entry, pre-defined by the ObjectID. If a cabinet, folder or tab is concerned, all sub-entries are deleted as well. int DeleteObj (int ObjectId) Parameters: ObjectId: Number of entry to be deleted Return values: -3: -2: -1: 1: Also see:
Insufficient authorization for deletion Error when deleting No work area active Ok PrepareObj UpdateObj
© 1998..2002 ELO Digital Office
GmbH
Page: 107
ELOprofessional - OLE Automation Interface
02.03.2007
Function DeleteProjectOptions Deletes all option entries of a project in the defaults for the activities. Possibly existing project activities are not deleted, however, and can still be displayed and listed. You can also selectively delete a single entry. In this case, instead of the project name you must enter a string containing name, major no., minor no. and value, separated by the normal delimiter (¿). The field value can be left empty, the major and minor numbers can be set to 0 if they are not known. However, this deletes entire groups, so be careful when using this option. int DeleteProjectOptions (AnsiString ProjectName) Parameters: ProjectName: Name of project or project entry to be deleted. Return values: -7: -6: -5: -3: -2: -1: 1:
Project entry was not available Project entry not properly formatted Project was not available Error when deleting Missing or invalid project name No work area active ok
Example: set Elo=CreateObject("ELO.professional") res = Elo.DeleteProjectOptions("TEST") if res0 then call Elo.InsertProjectOptions("ELO_SYSTEM", 1, 0, "TEST") call Elo.InsertProjectOptions("TEST" , 10, 1, "Contact") call Elo.InsertProjectOptions("TEST" , 10, 4, "Meier") call Elo.InsertProjectOptions("TEST" , 10, 2, "Müller") call Elo.InsertProjectOptions("TEST" , 10, 3, "Schulze") end if Available from: 3.00.360 Also see:
InsertProjectOption
© 1998..2002 ELO Digital Office
GmbH
Page: 108
ELOprofessional - OLE Automation Interface
02.03.2007
Function DeleteSwl Deletes a subtree of a keyword list. Each entry contains a unique two letter level information: AA, AB, AC .. ZZ per level. The root level starts with a dot. „.AAABAC“ starts at the base with the first entry, within this with the second subentry, within this selects the third subentry. Deleting an entry will automatically delete all subentries. The group parameter is connected to the group entry in the keywording form. int DeleteSwl( AnsiString Group, AnsiString Parent) Parameters: Group Parent
Selects a keyword list Path of the subtree
Return values: -1: no work area active -2: error when writing -3: invalid or unknown parent path 1: Ok Example ... Set Elo=CreateObject("ELO.professional") call Elo.DeleteSwl( "THM", "." ) MsgBox MsgBox MsgBox MsgBox MsgBox MsgBox
Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw(
"THM", "THM", "THM", "THM", "THM", "THM",
".", "1" ) ".AA", "1.1" ) ".AA", "1.2" ) ".AA", "1.3" ) ".", "2" ) ".", "3" )
MsgBox Elo.ReadSwl( "THM", ".", " - " ) MsgBox Elo.ReadSwl( "THM", ".AA", " - " ) call Elo.UpdateSw( "THM", ".AB", "2a" ) MsgBox Elo.ReadSwl( "THM", ".", " - " ) ... Available from 5.00.066
© 1998..2002 ELO Digital Office
GmbH
Page: 109
ELOprofessional - OLE Automation Interface
02.03.2007
Function DeleteWv Deletes a reminder date (determined by parameter WvIdent). When deleting a date, the owner must also be indicated, if you set a –1 here your own EloUserId is used. int DeleteWv (int WvId, int UserOwner) Parameters: WvId: Number of date to be deleted UserOwner: Owner of date Return values: -2: -1: 1: Also see:
Error when deleting No work area active Ok ReadWv WriteWv WvIdent WvParent WvUserOwner WvUserFrom WvDate WvCreateDate WvPrio WvParentType WvShort WvDesc
© 1998..2002 ELO Digital Office
GmbH
Page: 110
ELOprofessional - OLE Automation Interface
02.03.2007
Function DeleteWvLine With this function an entry can be hidden within the display of the reminder dates. The associated reminder entry is not deleted. int DeleteWvLine (int LineNo) Parameters: LineNo: Line number of entry to be hidden Return values: -1: 0: 1: Also see:
No work area active Wrong line number Ok WriteWv DeleteWv WvIdent WvParent WvUserOwner WvUserFrom WvDate WvCreateDate WvPrio WvParentType WvShort WvDesc
© 1998..2002 ELO Digital Office
GmbH
Page: 111
ELOprofessional - OLE Automation Interface
02.03.2007
Property DelOutlookName (AnsiString) Available from:
This property indicates the reminder’s name of the person (group) to be deleted. It is used when the name of the person (group) to which the reminder is addressed is changed in ELO, so that the entry can be removed. Also see:
OutlookName
© 1998..2002 ELO Digital Office
GmbH
Page: 112
ELOprofessional - OLE Automation Interface
02.03.2007
Function DoCheckInOut This function opens a dialog for checking documents in and out. int DoCheckInOut (int hwndParent, AnsiString DlgTitle, AnsiString Short, AnsiString Desc, AnsiString XDate, AnsiString FileName,int Ctrl, int Minimize) Parameters: hwndParent DlgTitle Short Desc XDate FileName Ctrl Minimize
Windows window handle of superordinated window Title of dialog to be opened. Short name (check in for new document) Additional text (check in for new document) Document date (check in for new document) File name of file -1 new document 0 Check out >0 Check in Minimize 0 for ELO Client
Return values: -1 0 >0 Also see:
No work area active or Storage in postbox Cancel Object Id DoCheckInOut2
© 1998..2002 ELO Digital Office
GmbH
Page: 113
ELOprofessional - OLE Automation Interface
02.03.2007
Function DoCheckInOut2 This function opens a dialog for checking documents in and out. int DoCheckInOut 2(int hwndParent, AnsiString sDlgTitle, AnsiString sShort, AnsiString sDesc, AnsiString sXDate, AnsiString sFilterExt, AnsiString& sFileName, int nMinimize) Parameters: hwndParent: sDlgTitle: sShort: sDesc: sXDate: sFilterExt: nMinimize:
Windows window handle of superordinated window Title of dialog to be opened. Short name (check in for new document) Additional text (check in for new document) Document date (check in for new document) File endings available for selection. Format expl: "Word documents (*.doc;*.dot;*.txt)|*.doc;*.dot;*.txt|Excel documents (*.xxx)|*.xls;*.txt". Format entry for "All documents|*:*" is entered automatically minimize 0 for ELO Client
Return values: 0 ... Cancel 1 ... New document saved 2 ... Document checked in 3 ... Document checked out of archive 4 ... Edit already checked out document
© 1998..2002 ELO Digital Office
GmbH
Page: 114
ELOprofessional - OLE Automation Interface
02.03.2007
Function DoCheckInOut3 This function opens a dialog to check documents in/out. int DoCheckInOut3 (int hwndParent, AnsiString sDlgTitle, AnsiString sShort, AnsiString sDesc, AnsiString sXDate, AnsiString sFilterExt, AnsiString& sFileName, int nMinimize, int iFlags, AnsiString sInfo) Parameters: hwndParent: sDlgTitle: sShort: sDesc: sXDate: sFilterExt: nMinimize: iFlags:
sInfo:
Windows window handle of superordinated window Title of dialog to be opened. Short name (check in for new document) Additional text (check in for new document) Document date (check in for new document) File endings available for selection. Format expl: "Word documents (*.doc;*.dot;*.txt)|*.doc;*.dot;*.txt|Excel documents (*.xxx)|*.xls;*.txt". Format entry for "All documents|*:*" is entered automatically Minimize 0 for ELO Client Bit 0 set: Subject data information will be assumed from the internal, with PrepareObjectEx initialized object before Bit 0 not set: Subject data information are extracted from the parameters sShort, sDesc and sXDate Reserved for later extensions
Return values: 0 ... Cancel 1 ... New document saved 2 ... Document checked in 3 ... Document checked out of the archive 4 ... Edit already checked out document
© 1998..2002 ELO Digital Office
GmbH
Page: 115
ELOprofessional - OLE Automation Interface
02.03.2007
Property DocId (int) The DocId property defines the working version of a document. This entry has to be selected from the list of all document files out of the version history of this document. A foreign entry at this place can lead to serious disfunctions. Available from: 5.00.042 See also:
MaskKey DocKey DocKind DocPath
© 1998..2002 ELO Digital Office
GmbH
Page: 116
ELOprofessional - OLE Automation Interface
02.03.2007
Property DocKey (int) The DocKey property determines the key of an entry. The entry can be a cabinet, folder, tab or document. If you edit a mask definition, this entry contains the default for new documents of this type (the MaskKey contains the key for the mask itself). Also see:
MaskKey DocKey DocKind DocPath
© 1998..2002 ELO Digital Office
GmbH
Page: 117
ELOprofessional - OLE Automation Interface
02.03.2007
Property DocKind (int) The DocKind property determines the color of an entry. The entry can be a cabinet, folder, tab or document. If you edit a mask definition, this entry contains the default for new documents of this type. Also see:
DocKey DocPath
© 1998..2002 ELO Digital Office
GmbH
Page: 118
ELOprofessional - OLE Automation Interface
02.03.2007
Property DocPath (int) The DocPath property determines the storage path of an entry. The entry can be a folder or document. If the entry is a folder, with the respective system setting, this path can be the default value for documents in this folder. However, this mode only represents a compatibility mode for old ELO office archives, for new archives it should not be used anymore. If you edit a mask definition, this entry contains the default for new documents of this type. Also see:
DocKey DocKind
© 1998..2002 ELO Digital Office
GmbH
Page: 119
ELOprofessional - OLE Automation Interface
02.03.2007
Property DocTPath (int) The DocTPath property determines the default storage path of an entry in a mask definition. Also see:
DocPath
© 1998..2002 ELO Digital Office
GmbH
Page: 120
ELOprofessional - OLE Automation Interface
02.03.2007
Function DoEditObject Function DoEditObjectEx With this function you can open the subject data dialog. It displays the data that have previously been initialized via PrepareObjectEx. The request of DoEditObject corresponds to a DoEditObjectEx(1,-1,0). int DoEditObjectEx (int Mode, int Handle, int Minimize) int DoEditObject () Parameters: Mode: Handle: Minimize:
1 – Edit, 2 – Search Handle of the parent window, Standard = -1 1-Minimize ELO main window (only Edit dialog visible), 0-do not minimize
Return values: -1: 1: 2:
No work area active Dialog closed with Ok Dialog closed with Cancel
Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 121
ELOprofessional - OLE Automation Interface
02.03.2007
Function DoExecute With this function another application can be started, internally the Windows API function ShellExecute is requested. Option 1: in the FileName parameter the name of a program (EXE file) is transferred. Option 2: in the FileName parameter the name of a file is transferred, the application associated with this file type is started. int DoExecute (AnsiString FileName) Parameters: FileName
File to be opened / executed
Return values: 32: Also see:
Windows error code of the ShellExecute function Success RunEloScript DoExecuteEx
© 1998..2002 ELO Digital Office
GmbH
Page: 122
ELOprofessional - OLE Automation Interface
02.03.2007
Function DoExecuteEx With this function another application can be started, internally the Windows API function ShellExecute is requested. Option 1: in the FileName parameter the name of a program (EXE file) is transferred. Option 2: in the FileName parameter the name of a file is transferred, the application associated with this file type is started. int DoExecuteEx (AnsiString File, AnsiString Param, AnsiString Directory, AnsiString Action, int Mode) Parameters: File Param Directory Action Mode
File to be opened / executed additional parameters (can remain empty) Start directory (can remain empty) "open", "print" or "explore", (can remain empty, an "open" is then executed) Window size upon start (-1: SW_SHOWNORMAL). The constants possible here can be looked up in the Windows Help under "ShellExecute".
Return values: 32: Also see:
Windows error code of the ShellExecute function Success RunEloScript DoExecute
© 1998..2002 ELO Digital Office
GmbH
Page: 123
ELOprofessional - OLE Automation Interface
02.03.2007
Function DoFullTextSearch The DoFullTextSearch function starts a rich text search. As result of the function the number of found references is returned, these are then available in the research list and can be displayed via SelectLine. int DoFullTextSearch (AnsiString sSearchString, int iSearchOption) Parameters: sSearchString iSearchOption
Text to be found 0=AND-OR-linked search terms 1=intuitive search
Return values: -2: -1: else: Also see:
Error during rich text search No work area active Number of found entries. DoSearch SelectLine
© 1998..2002 ELO Digital Office
GmbH
Page: 124
ELOprofessional - OLE Automation Interface
02.03.2007
Function DoInvisibleSearch The DoInvisibleSearch function starts an invisible search process from the ObjShort, ObjMemo, ObjAttrib entries. For this purpose, first of all a new object dataset is created with PrepareObject, this dataset is fed with the terms to be found via the access operations and the DoInvisibleSearch function is requested. As result of the function the number of found references is returned, these are then available in an invisible internal research list and can be requested via getEntryId(). However, for this purpose a special line number must be transferred to the getEntryId function, so that it can detect that it is not the normal list, but the invisible list to be searched. This number consists of the line number and a constant factor of 268435456 (that is 0x10000000). Example: set Elo = CreateObject("ELO.professional") ‘search all invoice entries MaskNo=Elo.LookupMaskName("Invoice") Elo.PrepareObjectEx 0,0,MaskNo Elo.DoInvisibleSearch for i=0 to 1000 id=Elo.GetEntryId(268435456+i) if id0:
for error for cancel Object ID of selected entry
© 1998..2002 ELO Digital Office
GmbH
Page: 127
ELOprofessional - OLE Automation Interface
02.03.2007
Function EditActivity (AnsiString) This function edits an activity. You can carry out a pre-allocation via the input string, especially if you create a new activity for a document you must initialize the EloGuid with the GUID of the document. If possible, you should also pre-allocate the project entry. The ActInfo string is composed of the following parts: ActGuid DocGuid Destination RevVers ActTStamp Project Owner Creator Prio ShortDesc SentAt SentMode DueDate BackAt BackMode Comment FileName UD0 UD1 … UD9
Unique ID of the activity, leave empty for a new entry! GUID of the ELO document (determine via GetGuidFromObj). Recipient Version Time stamp, leave empty, created automatically when saving Project name, pre-allocate if possible Owner, ELO user number Creator, ELO user number 0,1 or 2 Short name Sent date ISO format Send type Expected return date, ISO format Return date, ISO format Return status Additional text Sent file name User defined field 1 User defined field 10
AnsiString EditActivity (AnsiString ActInfo) Parameters: Return value: Example:
ActInfo:
Current field allocation, the individual texts are linked by the separator (¿) each.
Empty An error has occurred or the user has cancelled the dialog with "Cancel".
Id=Elo.GetEntryId(-1) if (Id>1) then guid=Elo.GetGuidFromObj(Id) res="¿" & guid res=Elo.EditActivity(res) MsgBox res Elo.WriteActivity(res) end if Available from: 3.00.360 Also see:
ShowActivities EditActivity ReadActivity WriteActivity NextActivity
© 1998..2002 ELO Digital Office
GmbH
Page: 128
ELOprofessional - OLE Automation Interface
02.03.2007
Property EditDlgActive (int) This property indicates if a dialog has been opened from ELO. Return values: 0 – No 1 – Yes Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 129
ELOprofessional - OLE Automation Interface
02.03.2007
Function EditWv (int WvId, int ParentId) This function edits a reminder. int EditWv (int WvId, int ParentId) WvId: ParentId :
Internal ELO ID for the date ID of linked ELO object
Return value: -1 0 1
No work area active Dialog closed with Cancel Dialog closed with Ok
Example: Also see:
WVNew WvDueDate WvListInvalidate WvActionCode
© 1998..2002 ELO Digital Office
GmbH
Page: 130
ELOprofessional - OLE Automation Interface
02.03.2007
Function EloWindow With this function, you can determine how the ELO work surfaces are displayed. As parameter ‚MINIMIZE‘ can be used, in this case no work surface becomes visible, ‚MAXIMIZE‘, the visible work surfaces are fully displayed on the screen or ‚NORMAL‘, i.e. the default settings for the size of the work surface are used. int EloWindow (AnsiString DisplayMode) Parameters: DisplayMode
‚MINIMIZE‘, ‚NORMAL‘ or ‚MAXIMIZE‘
Return values: 0,1,2: Also see:
Number of open work areas BringToFront
© 1998..2002 ELO Digital Office
GmbH
Page: 131
ELOprofessional - OLE Automation Interface
02.03.2007
Function Export With the Export function, you can export a (part) archive. The ID for the available export options can be found in the following list: // Do not copy documents from the file structure #define IEX_SUPPRESSDOCS (1 1 then DId = Elo.GetDocFromObj( Id, 0 ) if DId > 0 then MsgBox Elo.GetDocumentPathName( DId ) end if end if
© 1998..2002 ELO Digital Office
GmbH
Page: 153
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetDocumentPathVersion Reads the document or attachment file from a document and returns an access path to the file. For versioncontrolled documents previous versions can be accessed via the Version parameter. For this purpose, Version is increased starting with 0 (=current version) by 1 until an empty string is returned. Normal archive documents are write-protected, for this reason the reader can request a free copy via the status (AUTO_WRITEACCESS). However, the copy is only valid for a limited period and is deleted automatically when exiting ELO. AnsiString GetDocumentPathVersion (int DocId, int Status, int Version) Parameters: DocId Status
Version
Internal ELO ObjectId Bit 0: Write access to copy Bit 1: Attachment instead of document file Bit 2: Rich text representation instead of document Bit 3: Document numbers instead of document 0 = current version 1... = version states If Bit3 is set from the status, 0 only returns the current number, 1 returns all numbers
Return values: Access path to document or file attachment respectively If Bit3 is set from the status, the return value contains one or more numbers, separated by a pipe icon "|". Available from: 3.00.322 for the list (Bit 3 of the Status field) Example: ObjId=Elo.GetEntryId(-1) if ObjId>0 then DocIds=Elo.GetDocumentPathVersion(ObjId, 10, 1) if DocIds="" then MsgBox "This is not a document or" & vbcrlf & "the document has no attachment" else MsgBox DocIds end if else MsgBox "No document is active" end if Also see:
UpdateDocument InsertDocAttachment GetDocumentPath
© 1998..2002 ELO Digital Office
GmbH
Page: 154
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetDocumentSize Returns the file size of a document file number. As DocId the Document Manager-ID must be specified and not the logical Object-Id. You can get this number e.g. by the request GetDocFromObj. Int GetDocumentSize (int DocId) Parameters: DocId
Document manager File-Id
Return values: -2: -1: >=0:
Error while reading the document manager information No work area active File size
Available from: 5.00.018 Example: Set Elo = CreateObject( "ELO.professional" ) Id = Elo.GetEntryId(-1) if Id > 1 then DId = Elo.GetDocFromObj( Id, 0 ) if DId > 0 then MsgBox Elo.GetDocumentSize( DId ) end if end if
© 1998..2002 ELO Digital Office
GmbH
Page: 155
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetEntryId This function returns the internal ELO ObjectId of a line from the archive, postbox or search view. This way you can receive a list of all visible objects on the left side by requesting the GetEntryId function, starting with line 0 and increasing until a 0 is returned to you. If you start the request in the reminder, you receive a ReminderId instead of an ObjectId. Calling this function from the task item view returns a reminder Id (if the line contains a reminder item) or the associated ELO object id (workflow item). Use IsWFLine to recognize the line type. When requesting the function there are a few "special" lines: -1: The currently selected entry is read -2: The number of the internal EloObject is read -10: The selected line is read from the cabinet list -11: The selected line is read from the folder list -12: The selected line is read from the tab list -13: The selected line is read from the document list int GetEntryId (int Line) Parameters Line
Line to be read (0…) or -1 ... -13
Return values: Internal ELO ObjectId -1: No work area active 0: (error, no additional entry, no selection made) Also see:
GetEntryName
© 1998..2002 ELO Digital Office
GmbH
Page: 156
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetEntryName With this function you can quickly determine the short name of an ELO object via the internal ELO object number. If you use the value 0 as ObjectId, you receive the short name of the currently selected entry. AnsiString GetEntryName (int ObjId) Parameters: ObjId
Elo ObjectId or 0 for the currently selected entry
Return values: Short name or an empty string in case of an error Also see:
GetEntryId
© 1998..2002 ELO Digital Office
GmbH
Page: 157
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetGuidFromObj This function determines the ELO Guid for a given ELO ObjectId. AnsiString GetGuidFromObj (long ObjId) Parameters: Guid
Guid of the object to be found
Return values Empty: no work area active or object not found Else: Guid Available from: 3.00.176 Also see:
ObjGuid GetObjFromGuid
© 1998..2002 ELO Digital Office
GmbH
Page: 158
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetHistDoc Returns the internal DocumentId for the n-th hit from LookupHistMD5. int GetHistDoc (int HitNumber) Parameters: HitNumber:
0..n (n is returned by LookupHistMD5)
Return values: -1: >0:
Faulty HitNumber DocumentId
Available from: 3.00.170 Also see:
LookupHistMD5 GetHistObj GetMD5Hash
© 1998..2002 ELO Digital Office
GmbH
Page: 159
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetHistObj Returns the internal ELO ObjectId for the n-th hit from LookupHistMD5. int GetHistObj (int HitNumber) Parameters: HitNumber:
0..n (n is returned by LookupHistMD5)
Return values: -1: >0:
Faulty HitNumber Object Id
Available from: 3.00.170 Also see:
LookupHistMD5 GetMD5Hash GetHistDoc
© 1998..2002 ELO Digital Office
GmbH
Page: 160
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetIndexGroups With the GetIndexGroups function, you can determine a list of values entered for an index line, duplicates are ignored. If you have an "Article name" index line for example, you can create a list of all available article names via GetIndexGroups. You can then use these for selection in a combo box. Please note that this function can only be used appropriately if the amount of hits does not exceed some dozen to some hundred entries. This function can be used in two different ways. For the direct list (article example) only one index line is considered. However, you can also create an "indirect" list, e.g. all article names that have been obtained by the customer with the customer number (CTNO) 4711. This concerns two index lines, first of all one that determines the selection and another that contains the items to be listed. However, it needs to be noted that a considerable database load is created for a large number of hits. AnsiString GetIndexGroups (AnsiString GroupCol, AnsiString SelCol, AnsiString SelVal) Parameters: GroupCol: SelCol: SelVal:
Group name of index line from which the list is to be created Group name of index line from which the selection is to be used Index limit
Return values: Hit list or empty in case of error Example: A list is created from index line ELOFAQBER with all the different entries that contain the string P3. in the ELOVER index line. set Elo=CreateObject("ELO.professional") List=Elo.GetIndexGroups("ELOFAQBER", "ELOVER", "%P3.%") List=Replace(List, "¿", vbcrlf) MsgBox List Available from: 3.00.324
© 1998..2002 ELO Digital Office
GmbH
Page: 161
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetLastDocId This function determines the last physical document number in the archive. Int GetLastDocId () Parameters: none. Return values: -2: -1: >0:
Document number could not be determined. No work area active Last DocumentId
Available from: 3.00.170 Also see:
Backup
© 1998..2002 ELO Digital Office
GmbH
Page: 162
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetLastVersionTimeStamp (int, int) Returns the filing date of the physical document file. int GetLastVersionTimeStamp (int DocId, int Status) Parameters: DocId: Elo object ID of the document Status: 0: current document, >1 version 0x1000 added as additional flag: attachment instead of document Return values: -4: -3: -2: -1: >0:
Document data could not be read from the database Invalid status No document found No work area active date in ELO-internal format
Available from: 3.00.170 Also see:
IntToDate
© 1998..2002 ELO Digital Office
GmbH
Page: 163
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetListEntry With this function you can check out a line from the internal hit list of CollectWv and DoInvisibleSearch. The result consists of the following parts: Type¿ObjId¿Owner¿Id1¿Id2¿Text • • • • •
Type ObjId Owner Id1 Id2
AC: activity, OB: object, WF: workflow task, WV: Reminder date ELO ObjectId Owner of date (always 0 for OB) OB: Attachment Id, WF: Workflow Id, else 0 WF: Node Id, else 0
AnsiString GetListEntry (int Index) Parameters: Index
Line number 0..(number of hits –1)
Return values: Empty: No work area active or line not available Else: Line content Available from: 3.00.394 Example: Set Elo=CreateObject("ELO.professional") UserId=Elo.ActiveUserId ' only own dates 'UserId=Elo.ActiveUserId + 1073741824 ' with group dates 'UserId=Elo.ActiveUserId + 536870912 ' with agents 'UserId=Elo.ActiveUserId + 1610612736 ' all dates cnt=Elo.CollectWv(UserId, "22.08.2002", "30.08.2002", 3) for i=0 to cnt-1 msg=msg & Elo.GetListEntry(i) & vbcrlf next MsgBox msg Also see:
CollectWv DoInvisibleSearch
© 1998..2002 ELO Digital Office
GmbH
Page: 164
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetMD5Hash With this function you can determine the MD5 hash for a file or for a data block. If you indicate a file name as parameter, you receive the hash for the file. if you transfer a string starting with the characters "##", you receive the hash value for this string (the ## characters are not counted for this). AnsiString GetMD5Hash (AnsiString FileName) Parameters: FileName
File name or input string for the MD5 hash value
Return value: MD5 hash value as 32 character HEX string Available from: 3.00.170 Also see:
LookupHistMD5 GetHistObj GetHistDoc
© 1998..2002 ELO Digital Office
GmbH
Page: 165
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetNodeList This function prepares a list of workflow nodes. The Mode parameter indicates which nodes are to be collected. This function may only be requested from an eventscript within a workflow, the actions refer to the current flow. Mode 0 1
Action Reset to standard, must always be carried out at the end. Collect all nodes, equivalent to list view.
AnsiString GetNodeList (int Mode) Parameters: Mode
Action to be carried out
Return values 0
No work area active DocId not found, no subject data allocated ObjectId of subject data for the file
© 1998..2002 ELO Digital Office
GmbH
Page: 174
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetObjFromDocEx This function detects for an AccessManager Document-Id the appropriate Document-Id. In contrast to the function GetObjFromDoc here not only the current working document but also the attachment as well as the document and attachment versions is considered. The decision, which parts shall attract interest in the search, is controlled by the flags parameter: 2 3 4 5 6
Consider only the current document version (working version) Consider only current attachment Consider all document versions Consider all attachment versions Consider all document and attachment versions
int GetObjFromDocEx (int DocId, int Flags) Parameters: DocId: AccessManager document number of the entry to be searched Flags: 0..4 Return values: -3: -1: >1:
DocId not found No work area active Ok, Object-Id
Available from: 4.00.106 Example: function Check( DocId ) s="AM-DocId: " & DocId & vbcrlf s=s & "Doc: " & Elo.GetObjFromDocEx( DocId, 0 ) & vbcrlf s=s & "Att: " & Elo.GetObjFromDocEx( DocId, 1 ) & vbcrlf s=s & "DocV: " & Elo.GetObjFromDocEx( DocId, 2 ) & vbcrlf s=s & "AttV: " & Elo.GetObjFromDocEx( DocId, 3 ) & vbcrlf s=s & "DAV: " & Elo.GetObjFromDocEx( DocId, 4 ) & vbcrlf &vbcrlf Check=s end function set elo=CreateObject("ELO.professional") v1=Check(1) v2=Check(2) v3=Check(3) v4=Check(4) v5=Check(5) MsgBox v1 & v2 & v3 & v4 & v5
© 1998..2002 ELO Digital Office
GmbH
Page: 175
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetObjFromGuid This function determines the ELO ObjectId for a given ELO Guid. int GetObjFromGuid (AnsiString Guid) Parameters: Guid
Guid of the object to be found
Return values -1 0 >0
No work area active Guid not found Object Id
Available from: 3.00.176 Also see:
GetGuidFromObj ObjGuid
© 1998..2002 ELO Digital Office
GmbH
Page: 176
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetObjMaskNo Returns the number of the current mask (document type). An equivalent SetObjMaskNo does not exist for this; for new Elo documents, the document type is set once with the PrepareObject "for all times". int GetObjMaskNo () Parameters: None Return values: Number of the current document mask Also see:
ReadObjMask WriteObjMask
© 1998..2002 ELO Digital Office
GmbH
Page: 177
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetObjRef (int ObjId, int RefNo) Apart from the hierarchical tree structure (cabinet – folder – tab – document), ELO offers the possibility to create additional references. A document "Invoice Smith" can be filed in the "Invoices" tab and entered with an additional reference in the "Smith" tab. Although there will only be one copy of the document in the system, it is visible from both locations and can be edited. With this function, the path of the reference can be determined. AnsiString GetObjRef (int ObjId, int RefNo) ObjId: RefNo :
Internal ELO ID Number of the reference to be displayed (starting with 0) (0 is the own reference)
Return value: -2 -1
- Reference not available - No work area active
Otherwise path to reference separated by separator Example: Returns the path of the second reference from object with Id 245. Ref2 = Elo.GetObjRef (245,2) Also see:
InsertRef RemoveRef
© 1998..2002 ELO Digital Office
GmbH
Page: 178
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetPopupObjectId () With this function you can determine the object currently selected for a context menu. This entry is only valid if it has been requested as a result of a context menu event. int GetPopupObjectId () Parameters: None Return values: -1: >0:
No work area active Current ObjectId
Available from: 3.00.196 Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 179
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetPostDir With this function you can quickly determine the postbox path of the current user. AnsiString GetPostDir () Parameters: None Return values: Postbox path or an empty string in case of an error Also see:
© 1998..2002 ELO Digital Office
GmbH
Page: 180
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetRegInfo With this function the serial number information of the Access Manager can be requested. For this purpose, the following information is available via the Mode parameter: 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 20: 21: 22: 23: 24: 25: 26: 27:
Name of customer to which the version is registered Number of users in the ELO client Number of users in the Internet Gateway Demo version (TRUE/FALSE) Start version (TRUE/FALSE) Rich text license (TRUE/FALSE) Replication license (TRUE/FALSE) Backup server license (TRUE/FALSE) Validity limit (date or empty) Entire research-IGW (TRUE/FALSE) Dispatch/forward folder (TRUE/FALSE) Entire email filing (TRUE/FALSE) Tobit mail interface (TRUE/FALSE) COLD (TRUE/FALSE) XML import (TRUE/FALSE) SAPALINK interface (TRUE/FALSE) Http DocServer (TRUE/FALSE) File reference generator (TRUE/FALSE) Signature (TRUE/FALSE) Batch scan (TRUE/FALSE)
All requests return a text with the number of users, user name (multiple lines) or a "TRUE" or "FALSE" for binary requests. AnsiString GetRegInfo (int Mode) Parameters: Mode
Selection of the serial number information 0..27
Return values: Value of the serial number entry Example: ' GetRegInfo.VBS 28.01.2004 '-----------------------------------------------------------------' © 2002 ELO Digital Office GmbH ' Author: M.Thiele (
[email protected]) '-----------------------------------------------------------------' This script reads the current registry information of the access manager. ' Thereby the GetRegInfo function expects following parameters: ' 0: Name of customer to which the version is registered ' 1: Number of users in the ELO client ' 2: Number of users in the Internet Gateway ' 3: Demo version (TRUE/FALSE) ' 4: Start version (TRUE/FALSE) ' 5: Rich text license (TRUE/FALSE) ' 6: Replication license (TRUE/FALSE) ' 7: Backup server license (TRUE/FALSE) ' 8: Validity limit (date or empty) ' 9: Entire research-IGW (TRUE/FALSE) © 1998..2002 ELO Digital Office
GmbH
Page: 181
ELOprofessional - OLE Automation Interface ' ' ' ' ' ' ' ' ' ' '
02.03.2007
10: Dispatch folder (TRUE/FALSE) 11: Entire email filing (TRUE/FALSE) 20: Tobit mail interface (TRUE/FALSE) 21: COLD (TRUE/FALSE) 22: XML import (TRUE/FALSE) 23: SAPALINK interface (TRUE/FALSE) 24: Http DocServer (TRUE/FALSE) 25: File reference generator (TRUE/FALSE) 26: Signature (TRUE/FALSE) 27: Batch scan (TRUE/FALSE) -----------------------------------------------------------------
DIM DIM DIM DIM
Elo Text i Msg
Set Elo=CreateObject( "ELO.professional" ) Text=Array("Username","Number of users","Internetuser",_ "DemoVersion","StartVersion","Fulltextoption",_ "Replication","Backupserver","Limitation of date",_ "SearcheIGW","Dispatch folder","Only email storage",_ "Tobit interface",_ "COLD", "XML Importer", "SAPALINK", "Docserver",_ " File reference generator ", "Signature", "Batch scan") for i=1 to 11 Msg=Msg & Text(i) & " : " & Elo.GetRegInfo(i) & vbcrlf next for i=0 to 7 Msg=Msg & Text(i+12) & " : " & Elo.GetRegInfo(i+20) & vbcrlf next Msg=Msg+vbcrlf Msg=Msg & Text(0) & " : "
& vbcrlf & vbcrlf & Elo.GetRegInfo(0)
MsgBox Msg Available from: 3.00.282
© 1998..2002 ELO Digital Office
GmbH
Page: 182
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetScriptButton This function can be used to return the contents of a script button within the ELO main screen. The function is called from within installation scripts with which scripts are imported, at the same time setting the button and menu content. AnsiString GetScriptButton (int iTabSheet, int iButton) Parameters: iTabSheet
iButton
Choice of view: 1: Archive view (up to 16 buttons) 2: Clipboard (up to 8 buttons) 3: Postbox (up to 8 buttons) 4: Research (up to 8 buttons) 5: Resubmission (up to 8 buttons) Number of button (1..16 or 1..8)
Return values: Name of script See also:
SetScriptMenu SetScriptButton ImportScript
© 1998..2002 ELO Digital Office
GmbH
Page: 183
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetScriptEvent (AnsiString Event, int Mode) Available from:
Ver 3.00.228
This function reads the script name or complete path of the script set in the script events. AnsiString GetScriptEvent (AnsiString Event, int Mode) Event:
String with event identifier (see event list under SetScriptEvent) Or position when prefixed with a # sign (these values may vary in future ELO versions)
Mode:
0 – Script name with complete path and file name extension 1 – Script name only
Return values: -2 -1 0
Unknown event Mode not implemented No script available
Example: Returns the complete path, with the filename of the script if available CompletePath = ELO.GetScriptEvent ("sEonTimer",0) Returns only the script name, access via event identifier NameOnly = ELO.GetScriptEvent ("sEonTimer",1) Returns the script name, access via event position (#0 = "sEonTimer") NameOnly = ELO. GetScriptEvent ("#0",1) See also:
SetScriptEvent
© 1998..2002 ELO Digital Office
GmbH
Page: 184
ELOprofessional - OLE Automation Interface
02.03.2007
Function GetTreePath(int Mode, AnsiString Delimiter, int MaxLength) Return the ELO archiving path of the actual tree selection. AnsiString GetTreePath (int Mode, AnsiString Delimiter, int MaxLength) Mode :
0: Return Short description, 1: ObjectId
Delimiter:
Delimiter between the entries
MaxLength:
It the resulting path is longer than this value it will be shortend.
Return values : -2 -1 0 other
– unknown – invalid mode – not available ok
Available from: 5.00.180 Example: Set Elo = CreateObject( „ELO.professional“) MsgBox Elo.GetTreePath( 0, „ // „, 127 ) MsgBox Elo.GetTreePath( 1, „:“, 1000 )
© 1998..2002 ELO Digital Office
GmbH
Page: 185
ELOprofessional - OLE Automation Interface
02.03.2007
Function GotoId Using this function, you can make ELO switch to a certain document (or cabinet, folder, tab). If you wish to link your own entries to ELO documents, it is enough to save the corresponding ELO ObjectId and call up the document via GotoId when you need to. You can use the GotoId(1) special case to return to the original archive view in one step. Usually, the archive view is set up in such a way that the desired object is in the list on the left and is selected. The subentries or the image, if the object is a document, is displayed. Sometimes, it is useful to see the content of the object, not just the object itself. In this case, a minus sign should be added to the ObjectId. int GotoId (int ObjektId) Parameters: ObjectId
ELO Object to be selected, or 0 (back to beginning of the archive)
Return values: -2: -1: 1: See also:
Object not found No workspace active Ok LookupIndex GetEntryId GetEntryName
© 1998..2002 ELO Digital Office
GmbH
Page: 186
ELOprofessional - OLE Automation Interface
02.03.2007
Function GotoPath Show a distinct ELO document or structure element. GotoId always uses the main parent for this access, GotoPath contains the complete path, so references can be used. The list of object ids has to be build by ELO object ids with the standard delimiter symbol. int GotoPath(AnsiString ObjektIds ) Parameter: ObjektIds
ELO object id list
Return values: -3: Path not found -2: Invalid object in in path -1: no work area active 1: ok Available from: 6.00.000 siehe auch:
GotoId GetTreePath
© 1998..2002 ELO Digital Office
GmbH
Page: 187
ELOprofessional - OLE Automation Interface
02.03.2007
Function GovAddInfo This function include a new request in the request list. Thereby you can define by the parameter Type, if an active request (Type=1) or a version entry (Type=3) shall be created. Please not, that changes in the version history can lead to unreproducable activities. If you create a new request, you have to check in the script, if already other arrangements are existent for the requested period (and in this case do without their own arrangement). This check is not accomplished by the function GovAddInfo. The new request must be created before by filling out all Gov… properties completely. int GovAddInfo (int Type) Parameters: Type:
1: current request, 3: version history
Return values: -3: -2: -1: 1:
Database error while saving the request Wrong type entry No work area active Ok
Available from: 4.00.096 See also:
GovRequestList GovMoveRequest GovDeleteRequest
© 1998..2002 ELO Digital Office
GmbH
Page: 188
ELOprofessional - OLE Automation Interface
02.03.2007
Function GovDeleteRequest This function deletes a request of the request list and passes it on to the version history. int GovDeleteRequest (int Type, int RequestId) Parameters: Type: RequestId:
1: current request Logical number of the request, detected by GovRequestList or GovGetRequestId
Return values: -3: -2: -1: 1:
Database error while saving the request Wrong type entry No work area active Ok
Available from: 4.00.096 Example: Set Elo=CreateObject("ELO.professional") ConfirmReturn sub ConfirmReturn ' firstly detecting the concerned object barcode=InputBox("Please enter the barcode") Id=Elo.LookupIndex("BARC="&barcode) if Id=0: See also:
Key not found Key ID ObjKey LookupUserName
© 1998..2002 ELO Digital Office
GmbH
Page: 222
ELOprofessional - OLE Automation Interface
02.03.2007
Function LookupMaskName Looks up the internal ELO MaskId via the mask name. Remember that this information comes from a local client cache, and newly created masks on other stations may only be available after a restart. int LookupMaskName (AnsiString MaskName) Parameters: MaskName
Name of the mask whose ID is to be looked up
Return values: -3: -2: -1: >=0: See also:
No workspace active No mask name given Mask not found Mask ID ReadObjMask WriteObjMask
© 1998..2002 ELO Digital Office
GmbH
Page: 223
ELOprofessional - OLE Automation Interface
02.03.2007
Function LookupUserName Detects the internal ELO User or GroupId by the user or group name. Please note, that this information comes from a client-local cache and new created users of other stations are eventually first available after a time delay or a reboot. int LookupUserName (AnsiString KeyName) Parameters: UserName
Name of the user/group whose number shall be detected
Return values: -1: >=0:
Name not found User/Group ID
Available from: 4.00.054 Example: Set Elo=CreateObject("ELO.professional") Name=InputBox("Please enter a user or group name") MsgBox Elo.LookupUserName(Name) See also:
LookupKeyName ReadUser
© 1998..2002 ELO Digital Office
GmbH
Page: 224
ELOprofessional - OLE Automation Interface
02.03.2007
Property MaskFlags (int) The MaskFlags property contains information about the type of the mask and the default settings for document flags for new documents of this type. Bit 0,1:
00 01 10 11
No version control. The document can be altered at will. Filing with version control, old versions are retained. True document filing, no further editing/processing possible. Reserved
Bit 3:
0 Not to be used as a search mask 1 Can be used as a search mask
Bit 4:
0 Not to be used as a filing mask 1 Can be used as a filing mask
Bit 6:
0 No full-text post-processing 1 Registered for full-text processing
All other bits are reserved or are used for internal purposes; they are to contain the value 0. See also:
ObjFlags
© 1998..2002 ELO Digital Office
GmbH
Page: 225
ELOprofessional - OLE Automation Interface
02.03.2007
Property MaskKey (int) The MaskKey property determines the key of a mask definition. See also:
DocKey DocKind DocPath
© 1998..2002 ELO Digital Office
GmbH
Page: 226
ELOprofessional - OLE Automation Interface
02.03.2007
Property MaxResultSet(int) This property contains the maximum size of the search list result set. Please be aware: at some circumstances this value will be replaced by a larger or a fixed value. If this value has been changed for a script search it should be restored afterwards back to the normal value. Otherwise it will be used also for standard searching. Available from: 5.00.180 Example:
MsgBox "Max result set: " & Elo.MaxResultSet Elo.MaxResultSet = 5000
© 1998..2002 ELO Digital Office
GmbH
Page: 227
ELOprofessional - OLE Automation Interface
02.03.2007
Function MergeImages Function MergeImagesEx With this function, you can copy one TIFF file into another TIFF file (e.g. in order to black out certain areas in the image). Select the source file, the target file, the pages and the transparent colour as well as the position in the target document. Please note, that the transparent colour has to be declared as a 24-bit RGB value, for entire black and white documents as well. As base for the Merge-operation 1 bit (black and white) and 24 bit (coloured images) can be used, source and target have to own the same colour resolution. 4, 8 and 16 bit intermediate formats are not supported. int __fastcall EloServer::MergeImages (AnsiString sFileSrc, AnsiString sFileTgt, int iPageSrc, int iPageTgt, int lTransp, int X, int Y) int __fastcall EloServer::MergeImagesEx (AnsiString sFileSrc, AnsiString sFileTgt, int iPageSrc, int iPageTgt, int lTransp, int X, int Y, int Flags) Parameters: SFileSrc: SFileTgt : IPageSrc: IPageTgt: LTransp : X,Y: Flags:
Source file (e.g. a black rectangle) Target file in which the source file is to be copied Page in source file (important for multipage documents) Page of target file Transparent colour, which becomes transparent in the target document Target coordinates Bit 0: 1= opaque drawing, 2=transparent drawing
Return values: -2: 1:
Error copying image areas Ok
Available from: 4.00.094 Example: Set Elo=CreateObject("ELO.professional") Id=Elo.GetEntryId(-1) if Id>1 then Src=Elo.GetPostDir & "elo.tif" Dst=Elo.GetDocumentPath( Id, 1 ) MsgBox Id & " : " & Dst & " : " & Src MsgBox Elo.MergeImagesEx( Src, Dst, 1, 1, &Hffffff, 100, 200, 1 ) call Elo.UpdateDocument( Id, 0, Dst ) end if
© 1998..2002 ELO Digital Office
GmbH
Page: 228
ELOprofessional - OLE Automation Interface
02.03.2007
Function MergePostPages This function serves to file pages in the postbox into a cabinet. It corresponds to the "file pages into cabinet" function in the context menu. This function affects the pages selected in each case. Return values: -2: -1: See also:
No entries selected in the postbox No workspace active SelectPostBoxLine UnselectPostBoxLine PostBoxLineSelected SelectAllPostBoxLines UnselectAllPostBoxLines
© 1998..2002 ELO Digital Office
GmbH
Page: 229
ELOprofessional - OLE Automation Interface
02.03.2007
Property MinDocLevel (int) Using this property, the filing level for documents can be set or read. In this way, you can file documents on any level depending on the setting. Writing access on this property is only available from version 3.00.420. Remember that a change in this value only affects the local client and is not saved. Values: 1 2 3 ... 253 254
Cabinet Folder Tab Tab Document
See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 230
ELOprofessional - OLE Automation Interface
02.03.2007
Function MovePostboxFile Function MovePostboxFile2 Moves or copies a file from your own postbox into another user's postbox (iUser parameter). Mode=0 means move, mode=1 means copy. The bit with the value 2 determines whether a MessageBox is shown if an error occurs. The usual MovePostbox command is not included in the postbox protocol; only actions via MovePostbox2 are recorded in the protocol. int MovePostboxFile (AnsiString sDataFile, int iUser, int Mode) int MovePostboxFile2 (AnsiString sDataFile, int iUser, int Mode,AnsiString sReportParam) Parameters: sDataFile iUser iMode sReportParam
Filename UserId of the recipient 0=move 1=copy Additional parameter for the postbox report (short name).
Return values: -1: 1:
Error moving/copying file File successfully moved/copied
Available from: (MovePostbox2) 3.00.276, (MovePostbox) 3.00.216 See also:
ActivePostFile FindUser
© 1998..2002 ELO Digital Office
GmbH
Page: 231
ELOprofessional - OLE Automation Interface
02.03.2007
Function MoveToArchive Function MoveToArchiveEx Using this function, you can transfer the active postbox entry (created via AddPostboxFile) into an archive. The object index can take various forms: Record into the chaos box (only permitted for documents): The Property ObjIndex contains an empty entry (ObjIndex=""). No filing location is given, so the document will not appear in the filing structure, and can only be shown after a search. Record via an internal ELO object ID: ObjIndex contains the object ID of a parent node (ObjIndex="#12345") prefixed by a # symbol. It is your responsibility to make sure that the parent node exists and has the right type. Record via an access path: ObjIndex contains an access path onto the parent node that starts with a ¿ symbol (ObjIndex="¿Cabinet¿Folder¿Tab"). This path is composed of the short names separated by the "¿" symbol (Alt-0191). Remember that using this approach, the same term should not be used twice on this level; otherwise, there can be no unique assignment. For example, there should not be two tabs for the month of March in the Invoices folder. On the other hand, the "March" tab can be used in any other folder. Record via a key word (documents only): You can save up to three key terms in one tab (e.g. KDNR 123). If you save the text KDNR = 123 in ObjIndex, the tab mentioned above will be used as the parent node. int MoveToArchive (AnsiString ObjektIndex) int MoveToArchiveEx (AnsiString ObjektIndex, AnsiString VersionNo, AnsiString VersionComment) Parameters: ObjektIndex VersionNo VersionComment
Filing destination in the filing system Version number for the version history of the first document Version Comment
Return values: -3: -2: -1: 1: See also:
Error transferring from the postbox into the archive Unknown or non-existent filing destination No workspace active Ok LookupIndex AddPostboxFile
© 1998..2002 ELO Digital Office
GmbH
Page: 232
ELOprofessional - OLE Automation Interface
02.03.2007
Function NextActivity (AnsiString) This function reads from a list of activity entries. In the first query, enter an SQL string with the WHERE clause for the list. The subsequent entries are returned through further queries with empty SQL strings. As soon as no further hits are available, an empty string is returned. When formulating the WHERE clause, remember that the date entries are saved in ISO format. The advantage of this format is the natural sorting so that range queries can be more sensibly executed. The column names available can be taken from the following list. Refer to the following list for the available column names. If you are using Oracle, remember that the server is case-sensitive. All ELO column names are in lower case. The resulting string is composed of the following parts: ActGuid DocGuid Destination RevVers ActTStamp Project Owner Creator Prio ShortDesc SentAt SentMode DueDate BackAt BackMode Comment FileName UD0 UD1 … UD9
Unique ID of the activity; this must be empty in a new entry. GUID of the ELO document (look up via GetGuidFromObj). Destination Version Time stamp. Leave empty; this field is filled when saving. Project name; use a default value if possible Owner, ELO UserId Creator, ELO UserId 0,1 or 2 Short name Date sent in ISO format Sending mode Date return is due, ISO format Date returned, ISO format Return status Additional text Name of file sent User-defined field 1 User-defined field 10
Ansi NextActivity (AnsiString SQLString) Parameters: SQLString:
SQL query of records to be selected
Return value: Empty No further data Text Result string with separator Example: set Elo=CreateObject("ELO.professional") sql="project like 'ELO'" msg="Activities:" & vbcrlf & vbcrlf for i=1 to 100 res=Elo.NextActivity(sql) sql="" ' Has to be empty for subsequent records in selection if res="" then exit for end if © 1998..2002 ELO Digital Office
GmbH
Page: 233
ELOprofessional - OLE Automation Interface msg=msg & next
02.03.2007
res & vbcrlf
MsgBox msg Available from: 3.00.360 See also:
ShowActivities EditActivity ReadActivity WriteActivity NextActivity
© 1998..2002 ELO Digital Office
GmbH
Page: 234
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeAction (int) The NodeAction property contains information on whether a node in the script control has been activated or ended: 1 = Node has been activated 2 = Node has been ended See also:
NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 235
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeActivateDate (AnsiString) This property contains the activation date of the current node. Available from: 3.00.508 See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 236
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeActivateScript (AnsiString) The NodeActivateScript contains the name of the script that is automatically called when a node is activated. See also:
NodeAction NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 237
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeAlertWait (int) The NodeAlertWait property returns the time (in minutes) after which the workflow is to be passed on. If the node is closed later, a timeout error is returned. See also:
NodeAction NodeActivateScript NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 238
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeAllowActivate (int) With this property, you can control whether a node within the workflow is activated. This only affects child nodes from a distributing node that has been accessed via GetChildNode. -1: 0: 1: See also:
No node active Node is not activated Node is activated NodeAction NodeActivateScript NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 239
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeAvailable (int) This property determines whether information on a node in a workflow is available. When testing a script within the script management, there is no useful information on the node in a workflow. 1 = Information on a node available 0 = No information on a node available See also:
NodeAction NodeActivateScript NodeAlertWait NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 240
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeComment (AnsiString) This property contains the text in the comment field of a node. See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 241
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeDepartment (int) This property contains the internal ELO UserId of the owner of a node. Available from: 3.00.380 See also:
NodeAction NodeActivateScript NodeAlertWait NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 242
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeFlowId (int) This property contains the internal workflow number of the node. Available from: 3.00.380 See also:
NodeAction NodeActivateScript NodeAlertWait NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 243
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeFlowName (AnsiString) This property contains the name of the workflow to which the node belongs. See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 244
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeId (int) This property contains the internal node number within the current workflow. Available from: 3.00.380 See also:
NodeAction NodeActivateScript NodeAlertWait NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 245
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeName (AnsiString) This property contains the text in the name field of a node. See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 246
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeObjectID (int) This property contains the object ID of the ELO object inside the workflow control. This can be used inside scripts that are called when activating or closing a node to access the information of the ELO object. Return values: -1: >0: See also:
No node active Object ID NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 247
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeTerminateDate (AnsiString) This property contains the termination date of the current node. Available from: 3.00.508 See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 248
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeTerminateScript (AnsiString) The NodeTerminateScript property contains the name of the script that is automatically called when a node is terminated. See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeName NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 249
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeType (int) The NodeType property contains information on the node type: 1 = Start node 2 = Person node 3 = Split node 4 = Decision node 5 = Collection node See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 250
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeUser (int) The NodeUser property contains information on which user is entered in the node. See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 251
ELOprofessional - OLE Automation Interface
02.03.2007
Property NodeYesNoCondition (AnsiString) This property contains a query that decides the further workflow in a decision node. See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser
© 1998..2002 ELO Digital Office
GmbH
Page: 252
ELOprofessional - OLE Automation Interface
02.03.2007
Property NoteOwner(int) This property contains the owner of the active "sticky" note in the script event call for editing a sticky note. The script event is activated before the editing dialog and after the editing dialog. Before the dialog, the ScriptActionKey is set to 1, and after editing, it is set to 2 for Ok and 3 for Cancel. Available from: 3.00.330 5.00.224 See also:
NoteText NoteType
© 1998..2002 ELO Digital Office
GmbH
Page: 253
ELOprofessional - OLE Automation Interface
02.03.2007
Property NoteText (AnsiString) This property contains the text of the active "sticky" note in the script event call for editing a sticky note. The script event is activated before the editing dialog and after the editing dialog. Before the dialog, the ScriptActionKey is set to 1, and after editing, it is set to 2 for Ok and 3 for Cancel. Example: set Elo=CreateObject("ELO.professional") if Elo.ScriptActionKey=1 then note=Elo.NoteText if note"" then note=note & vbcrlf & vbcrlf & "====" & vbcrlf end if Elo.ReadUser(Elo.ActiveUserId) note=note & Date & Time & ": " & Elo.UserName & vbcrlf & "----" & vbcrlf Elo.NoteText=note end if Available from: 3.00.330 5.00.224 See also:
NoteType NoteOwner
© 1998..2002 ELO Digital Office
GmbH
Page: 254
ELOprofessional - OLE Automation Interface
02.03.2007
Property NoteType(int) This property contains the type of the active "sticky" note (sticky note, personal sticky note, stamp) in the script event call for editing a sticky note. The script event is activated before the editing dialog and after the editing dialog. Before the dialog, the ScriptActionKey is set to 1, and after editing, it is set to 2 for Ok and 3 for Cancel. Available from: 3.00.330 5.00.224 See also:
NoteText NoteOwner
© 1998..2002 ELO Digital Office
GmbH
Page: 255
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjAcl (AnsiString) With the ObjAcl property, you can either set or read the AccessControlList in the current entry. For a reading query, at least one read access is necessary for the object, and one write access for writing. When you read this property, you will be given a text in the form , ,…. Under the entry, first of all you will find the code for the type of access, and then the ID of the key, user or group involved. The access type code is always two characters in length; the following values are available: • • • •
KY RD WT RW
This is a key entry A user or group entry with read access rights A user or group entry with write access rights A group or user entry with read/write access rights
You are given the entry "KY2,RD3,WT4,RW5". Key 2 is set; user or group 3 has read access rights, 4 has write access rights, and 5 has read/write access rights. Available from: 4.00.000 Example: Set Elo=CreateObject("LeitzElo.Elo32") ObjectId=Elo.GetEntryId (-1) rv=Elo.PrepareObject(ObjectID,0,0) MsgBox Elo.ObjAcl if Elo.ObjAcl="" then Elo.ObjAcl="RW7" else Elo.ObjAcl=Elo.ObjAcl&",RW7" end if Elo.UpdateObject MsgBox Elo.ObjAcl See also:
PromoteAcl
© 1998..2002 ELO Digital Office
GmbH
Page: 256
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjBarcodeInfo(AnsiString) The ObjBarcodeInfo property can be used for querying the barcode configuration for the document type selected. The text is entered via the BarcodeInfo field in the filing mask manager and submitted for internal barcode analysis. However, you can also evaluate this text externally, for example if you wish to insert your own bar code components. Example: set Elo = CreateObject("ELO.professional") MaskNo=Elo.LookupMaskName("Barcode mask") x=Elo.PrepareObjectEx(0,254,MaskNo) MsgBox "BarcodeInfo: " & Elo.ObjBarcodeInfo Available from: 3.00.264
© 1998..2002 ELO Digital Office
GmbH
Page: 257
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjFlags (int) The ObjFlags property has various meanings depending on the type of object. If the object type is a cabinet, folder or tab, ObjFlags contains the order in which subordinate objects are sorted. #define PLO_MANUAL #define PLO_ALPHA #define PLO_XDATE #define PLO_IDATE #define PLO_IXDATE #define PLO_IIDATE #define PLO_IALPHA
0 1 2 3 4 5 6
// Manual order // Alphabetic order // Document date (only makes sense with tabs) // Filing or creation date // Inverse – document date // Inverse – filing date // Inverse – alphabetic order
If this object is a document, the flags will contain the version control level and full-text status. Bit 0,1:
00 01 10 11
No version control, the document can be changed at will. Filing with version control, old versions are retained. Genuine document filing, no subsequent editing/processing possible. Reserved
Bit 6:
0 No full-text processing. 1 Registered for full-text processing.
All other bits are reserved and are only used for internal purposes. They are to be set to 0. See also:
ObjShort ObjMemo ObjIDate ObjXDate MaskFlags
© 1998..2002 ELO Digital Office
GmbH
Page: 258
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjGuid (AnsiString) The ObjGuid property contains an internal globally unique ELO object GUID for the current entry. This GUID is unique for every ELO object worldwide, and is also retained on replication. This property is read-only and is only available when replication is switched on. Maximum length: 32 characters Available from: 3.00.180 See also:
GetGuidFromObj GetObjFromGuid
© 1998..2002 ELO Digital Office
GmbH
Page: 259
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjIDate (AnsiString) The ObjIDate property contains the filing date of the document or the filing structure element. The date has to be entered in the date format currently set on the system, for example DD-MM-YYYY or MM/DD/YYYY. Remember that it makes no sense to set the property before filing into the archive (e.g. in the postbox or during filing), since this value will always be overwritten by the client software with the current date on filing. If you have to change the entry for whatever reason, you should do this after filing. Maximum length: 12 characters See also:
ObjSDate ObjXDate
© 1998..2002 ELO Digital Office
GmbH
Page: 260
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjIndex (AnsiString) The ObjIndex property contains the filing location for the current object. This filing location must be selected according to type, so you can only select a cabinet, but not a tab or another folder, as a filing location for a folder. The ObjectIndex can have various forms: Record into the chaos box (only permitted for documents): The Property ObjIndex contains an empty entry (ObjIndex=""). No filing location is given, so the document will not appear in the filing structure, and can only be shown after a search. Record via an internal ELO object ID: ObjIndex contains the object ID of a parent node (ObjIndex="#12345") prefixed by a # symbol. It is your responsibility to make sure that the parent node exists and has the right type. Record via an access path: ObjIndex contains an access path onto the parent node that starts with a ¿ symbol (ObjIndex="¿Cabinet¿Folder¿Tab"). This path is composed of the short names separated by the "¿" symbol (Alt-0191). Remember that using this approach, the same term should not be used twice on this level; otherwise, there can be no unique assignment. For example, there should not be two tabs for the month of March in the Invoices folder. On the other hand, the "March" tab can be used in any other folder. Record via a key word (documents only): You can save up to three key terms in one tab (e.g. KDNR 123). If you save the text KDNR = 123 in ObjIndex, the tab mentioned above will be used as the parent node. Record via *Keytext (???) Maximum length: 200 characters See also:
LookupIndex ObjMName
© 1998..2002 ELO Digital Office
GmbH
Page: 261
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjInfo (int) The ObjInfo property contains a freely definable value in interface programming. In an import process, the ObjId is stored from the old archive position, and in an automatic Office Professional archive comparison in the office version, the ObjId from the professional central archive will be stored here. See also:
ObjShort ObjMemo ObjIDate ObjXDate ObjSReg
© 1998..2002 ELO Digital Office
GmbH
Page: 262
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjKey (int) The key of the entry is set to or read from the ObjKey property. See also:
ObjShort ObjMemo ObjIDate ObjXDate ObjSReg
© 1998..2002 ELO Digital Office
GmbH
Page: 263
ELOprofessional - OLE Automation Interface
02.03.2007
Property ObjLock(int) read only The ObjLock property reads the lock on the current entry. The value -1 means that there is no lock on the entry; all other values return the UserId of the lock's owner. Example: set Elo = CreateObject("ELO.professional") id=Elo.GetEntryId(-1) if id>1 then Elo.PrepareObjectEx id,0,0 LockUser=Elo.ObjLock if LockUser0: Number of recognised barcodes
See also:
GetBarcode AnalyzeFile
© 1998..2002 ELO Digital Office
GmbH
Page: 304
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReadColorInfo With this function, you can read a colour definition of an ELO colour object. You can access the colour settings via the ColorInfo and ColorName properties. If you need a list of the colours available, you can call the function starting with 0 and the bit set at Ox8000. The next corresponding colour value is then loaded. int ReadColorInfo (int ColorNo) Parameters: ColorNo: Number of the colour definition to be read Return values: -2: -1: 1: See also:
Invalid value for colour number No workspace active Ok WriteColorNo ColorInfo ColorName
© 1998..2002 ELO Digital Office
GmbH
Page: 305
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReadKey (int) This function reads the system key entry and returns a name. AnsiString ReadKey (int KeyNo) KeyNo: Key number beginning with 1 Return value: Name of the key or empty string if the key number is invalid. Example: To return the name of the key with the number 1. MsgBox Elo.ReadKey(1) See also:
WriteKey ChangeKey
© 1998..2002 ELO Digital Office
GmbH
Page: 306
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReadObjMask With this function, you can read a mask (document type) into the internal ELO object. The attribute name and index fields, but not the entry value fields with the defined values, are preset. int ReadObjMask (int MaskNo) Parameters: MaskNo: Number of the document type mask to be read in Return values: -3: -2: -1: 1: See also:
No workspace active Invalid value for the mask number Error reading the database Ok WriteObjMask GetObjMaskNo
© 1998..2002 ELO Digital Office
GmbH
Page: 307
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReadSwl Reads one level of a keyword list. Each entry contains a unique two letter level information: AA, AB, AC .. ZZ per level. The root level starts with a dot. „.AAABAC“ starts at the base with the first entry, within this with the second subentry, within this selects the third subentry. The group parameter is connected to the group entry in the keywording form. AnsiString ReadSwl( AnsiString Group, AnsiString Parent, AnsiString Delimiter) Parameters: Group Parent Delimiter
Selects a keyword list Path of the subtree Line delimiter
Return values: -1: no work area active -2: error when reading -3: invalid or unknown parent path others: Ok Example ... Set Elo=CreateObject("ELO.professional") call Elo.DeleteSwl( "THM", "." ) MsgBox MsgBox MsgBox MsgBox MsgBox MsgBox
Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw( Elo.AddSw(
"THM", "THM", "THM", "THM", "THM", "THM",
".", "1" ) ".AA", "1.1" ) ".AA", "1.2" ) ".AA", "1.3" ) ".", "2" ) ".", "3" )
MsgBox Elo.ReadSwl( "THM", ".", " - " ) MsgBox Elo.ReadSwl( "THM", ".AA", " - " ) call Elo.UpdateSw( "THM", ".AB", "2a" ) MsgBox Elo.ReadSwl( "THM", ".", " - " ) ... Available from 5.00.066
© 1998..2002 ELO Digital Office
GmbH
Page: 308
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReadUser The ReadUser function reads a user record from the system file. Admins can read any user; subadmins can only read their own users. Every user can read his own user data. An empty user record can be created with the UserNo –1. With the UserNo –2 the accumulated rights of the current user are read (i.e. the UserGroups property does not only contain the direct groups, but also all subgroups, the same applies to UserKeys). (available from version 3.00.546 on) For the creation of a new user a free slot has to be searched (user entry with empty name field). Please be careful with new user numbers, you may destroy existing users. int ReadUser (int UserNo) Parameters: UserNo:
Number of the user to be read
Return values: -3 -2 -1 1 2 See also:
A subadmin has attempted to read a foreign user Only admins and subadmins can read user data Error reading the user from AccessManager An empty user record has been created via UserNo=-1 The user record has been read correctly ReadUser UserGroups UserParent UserKeys UserFlags
© 1998..2002 ELO Digital Office
GmbH
Page: 309
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReadUserProperty The ReadUserProperty function reads a user extension from one of 8 user data fields. Remember that the first four fields are reserved by ELO (e.g. for NT name conversion). Fields 5..8 are freely available. AnsiString ReadUserProperty (int PropertyNo) Parameters: PropertyNo:
Number of the property to be read
Return values: Property read or empty string for error Example: ' AutoStart.VBS 20.03.2002 '-----------------------------------------------------------------' © 2002 ELO Digital Office GmbH ' Author: M.Thiele (
[email protected]) '-----------------------------------------------------------------' This script reads a starting folder or a tab and branches to ' the given position. An individual path is entered for each archive. The ' definition is made in the first user-defined user management field as ' |¿Cabinet¿Folder|¿. ' The individual archive definitions are also separated using a pipe ' (|) symbol. Every individual definition starts with the archive ' name, followed by an archive path. ' ----------------------------------------------------------------Set Elo=CreateObject("ELO.professional") Elo.ReadUser(Elo.ActiveUserId) Param=Elo.ReadUserProperty(5) if Param"" then ArcList=Split(Param, "|") ArcName=Elo.GetArcName & "¿" for i=LBound(ArcList) to UBound(ArcList) ThisEntry=ArcList(i) if Left(ThisEntry, Len(ArcName))=ArcName then ThisEntry=Mid(ThisEntry, Len(ArcName), 255) ThisId=Elo.LookupIndex(ThisEntry) if ThisId>0 then Elo.GotoId(0-ThisId) end if end if next end if See also:
WriteUserProperty UserGroups UserParent UserKeys UserFlags
© 1998..2002 ELO Digital Office
GmbH
Page: 310
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReadWFNode(int, int, int, int) Reads a selected node of the active workflow. The properties of this node can be changed via NodeFlowName, NodeName, NodeType and more (but be careful to keep the flow in a valid state). After this call the function GetNodeList gives access to all nodes of the workflow int ReadWFNode(int FlowId, int NodeId, int ELOObjId, int Flags) Parameters: FlowId: NodeId: ELOObjId: Flags:
Workflow Id, -2 selects the last accessed line of the task view Node number ELO Object Id of the connected document unused, always 0
Return values: -1: -2: -3: -4: 1:
no work area active the selected task item is not a workflow error reading the workflow invalid NodeId ok
Example: Set Elo=CreateObject("ELO.professional") Elo.SelectView(5) For i=0 To 10 iID=Elo.GetEntryID(i) If iID=0 Then Exit For If Elo.IsWFLine=1 Then Call Elo.ReadWFNode(-2,0,0,0) MsgBox "Aktiver Knoten: " & Elo.NodeName & " / " & Elo.NodeFlowName cnt=Elo.GetNodeList(1) For j=0 To cnt-1 Call Elo.SelectNode(j) If Elo.NodeType=2 then MsgBox "Knoten " & Elo.NodeID & ": " & Elo.NodeName & " [" & Elo.LoadUserName(Elo.NodeUser) & "]" End If Next End If Next Available from: 5.00.140
© 1998..2002 ELO Digital Office
GmbH
Page: 311
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReadWv Reads a to-do date (determined by the WvIdent parameter) into the internal to-do memory. This date can then be read out with the various Property functions. If WvIdent has 0 value, the internal to-do memory is deleted; this operation is essential before creating a new date. int ReadWv (int WvId) Parameters: WvId: number of date to read, 0: create new, blank date Return values: -2: -1: 1: See also:
error while reading No active work area Ok WriteWv DeleteWv WvIdent WvParent WvUserOwner WvUserFrom WvDate WvCreateDate WvPrio WvParentType WvShort WvDesc
© 1998..2002 ELO Digital Office
GmbH
Page: 312
ELOprofessional - OLE Automation Interface
02.03.2007
Function ReloadWv This function updates the list of to-do dates in the main ELO window. int ReadWv() Parameters: None Return values: -1: 1: See also:
No active work area Ok WriteWv DeleteWv WvIdent WvParent WvUserOwner WvUserFrom WvDate WvCreateDate WvPrio WvParentType WvShort WvDesc
© 1998..2002 ELO Digital Office
GmbH
Page: 313
ELOprofessional - OLE Automation Interface
02.03.2007
Function RemoveDocs(int, AnsiString, int) The dialog for the removal of document files with backup can be automated by this function call. There are parameters for the filing path, delete date and the backup control. The delete date has to be in the ISO date format YYYYMMDD (Year – Month – Day). The backup control decides if the backup document will be checked before the deletion. Value 1 deletes without any further checks (only for test data recommended). Value 2 initiates a directory check for file sizes and value 3 forces a complete verify before deletion. With the values 1, 2 or 3 the function does only a check, without deletion. You get only a report with the expected deletion information. Add 21840 to this value for the final deletion (Values 21841, 21842 or 21843). The result report contains a list of comma separated values: 1. Last document id 2. Number of deleted files 3. Number of files without backup 4. Number of broken entries 5. Number of deleted bytes (only valid below 2 GB) AnsiString RemoveDocs( int PathId, AnsiString DelDate, int Mode ) Parameters PathId: DelDate: Mode:
Only delete documents from path … (0: all paths) Only delete if written before … Backup check
Return value -1 -2 -3 others
Cannot delete Invalid DelDate no work area active report
Available since: 5.00.094 Example: Elo.RemoveDocs(1, "20050727", 3)
© 1998..2002 ELO Digital Office
GmbH
Page: 314
ELOprofessional - OLE Automation Interface
02.03.2007
Function RemoveRef (int, int) Available from:
3.00.???
As well as its hierarchical tree structure (Cabinet - Folder - Tab - Document) ELO also lets you create other references. A document called "Miller invoice" can be filed under the "Invoices" tab and entered in the "Miller" tab with an additional reference. Although there is only one instance of that document in the system, it can be viewed and processed in both places. The function also lets you remove a reference already created. int RemoveRef (int ObjId, int RefNo) ObjId : RefNo :
Internal ELO Id Number of reference to be deleted (starting with 1)
Return value: -5 -4 -3 -2 -1
Additional references only deletable No read-write access to object Delete failed Reference not available No active work area 0 Reference deleted
Example: Removes fifth reference from object with Id 34. Elo.RemoveRef (34,5) See also:
InsertRef GetObjRef
© 1998..2002 ELO Digital Office
GmbH
Page: 315
ELOprofessional - OLE Automation Interface
02.03.2007
Function RotateFile This function lets you rotate a graphics file in the postbox by 90, 180 or 270 degrees. In the current version only single page TIFFS can be rotated; multipage documents cannot be handled. The filename given may be an item from the postbox (no path, just the filename), an index number in the post list (marked with #, e.g. #0 is the first item in the mail list) or an empty string. In this case the current postbox file (ActivePostFile, e.g. from the previous scan) is used. int RotateFile (AnsiString FileName, int Degree) Parameters: FileName: Degree:
Name of file to be rotated Angle of rotation, 90, 180 or 270
Return values:
-1:
-4: File could not be rotated or saved. -3: Error reading file -2: No filename No active work area 1: Ok
See also:
AnalyzePostfile UpdatePostbox
© 1998..2002 ELO Digital Office
GmbH
Page: 316
ELOprofessional - OLE Automation Interface
02.03.2007
Function RunEloScript This function starts an ELO script. The system searches for the script file in the Postbox\EloScripts directory. int RunEloScript (AnsiString FileName) Parameters: FileName
Script to be run (without extension)
Return values: -1: 0: See also:
Script file not available Ok DoExecute
© 1998..2002 ELO Digital Office
GmbH
Page: 317
ELOprofessional - OLE Automation Interface
02.03.2007
Function SaveDocumentPage This function lets you save one page of a multipage TIFF file. int SaveDocumentPage (AnsiString sFileName, int iPage, int iQuality) Parameters: sFileName: iPage: iQuality:
Name of file to be saved Page number (indexed with "1") Quality of JPEG graphics (0..100)
Return values: -3: -2: -1: 1: Ok
Error saving No viewer visible No active work area
See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 318
ELOprofessional - OLE Automation Interface
02.03.2007
Function SaveDocumentZoomed This function lets you save the document currently displayed with a zoom factor. int SaveDocumentZoomed (AnsiString sFileName, int iZoom, int iQuality) Parameters: sFileName: iZoom: iQuality:
Name of file to be saved Zoom factor in [%] Quality of JPEG graphics (0..100)
Return values: -3: -2: -1: 1:
Error saving No viewer visible No active work area Ok
See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 319
ELOprofessional - OLE Automation Interface
02.03.2007
Function SaveObject This function lets you save and restore the internal object wrapper text data. The function may not be used repeatedly, because there is only one Save memory. Every Save action overwrites the previous one. The Restore function may be used repeatedly, but in that case the same data is restored each time. int SaveObject (int Mode) Parameters: Mode: 1: Save, 2: Backup Return values: -1: 1:
Invalid parameters Ok
See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 320
ELOprofessional - OLE Automation Interface
02.03.2007
Property ScriptActionKey (int) This property is used to return information to ELO from the script. ELO responds to it with very specific actions.
Program context Calling a script when entering a wrapper text mask
Value
10 Wrapper mask is closed by choosing 'OK' -10 Wrapper mask is closed by choosing 'Cancel'
Scripts: before importing/exporting Controlling input focus in the wrapper mask in scripts running when you enter or leave input fields
0 1 11 12 13 1000+n (n=0..49)
Available from: Ver 3.00.228 After OK click in the wrapper mask Available from: Ver 3.000.350 Post-it note Add/ Move Entry
Action by ELO
Don't import/export Import/export "Short description" field gets input focus "Memo" field gets input focus "Date" field gets input focus Input line n gets input focus
-20 Cancel OK action
0 1
After editing a post-it note Before editing a post-it note -30 Suppress move
See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 321
ELOprofessional - OLE Automation Interface
02.03.2007
Property SearchListColumns ( AnsiString ) Reads the header columns of the search result list, concatenated with a pipe symbol "|". Available from: 5.00.174
© 1998..2002 ELO Digital Office
GmbH
Page: 322
ELOprofessional - OLE Automation Interface
02.03.2007
Function SearchListLineId With this function the ELO ObjectId of a line out of the search view can be detected. int SearchListLineId (int LineNo) Parameters: LineNo
Line to be selected
Return values: -2: -1: >0:
Invalid line number No work area active ObjectId
Available from: 5.00.036 Example: Set Elo = CreateObject( "ELO.professional" ) for i = 0 to 8 res = res & Elo.SearchListLineSelected( i ) & " - " & Elo.SearchListLineId( i ) & ", " next MsgBox res See also:
UnselectSearchListLine SelectSearchListLine SearchListLineSelected
© 1998..2002 ELO Digital Office
GmbH
Page: 323
ELOprofessional - OLE Automation Interface
02.03.2007
Function SearchListLineSelected This function lets you test whether a line in the search view is selected. int SearchListLineSelected (int LineNo) Parameters: LineNo
Line to be selected
Return values: -2: -1: 0: 1: See also:
Invalid line number No active work area Line not selected Line selected UnselectSearchListLine SelectSearchListLine
© 1998..2002 ELO Digital Office
GmbH
Page: 324
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectAllPostBoxLines This function selects all the lines of the postbox. int SelectAllPostBoxLines () Parameters: None Return values: -1: 1: See also:
No active work area Ok SelectPostBoxLine UnselectPostBoxLine PostBoxLineSelected UnselectAllPostBoxLines
© 1998..2002 ELO Digital Office
GmbH
Page: 325
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectArcListLine This function selects an entry in the search view. Thereby the line number runs from 0 till the amount of entries minus 1. int SelectArcListLine (int LineNo) Parameters: LineNo
Line to be selected
Return values: -2: -1: 1:
Invalid line number No work area active Ok
Available from: 5.00.036 Example: Set Elo = CreateObject( "ELO.professional" ) for i = 0 to 8 res = res & Elo.ArcListLineSelected( i ) & " - " next for i = 0 to 3 Elo.SelectArcListLine( i ) next for i = 4 to 7 Elo.UnselectArcListLine( i ) next Elo.SelectArcListLine( 8 ) MsgBox res See also:
UnselectArcListLine ArcListLineSelected
© 1998..2002 ELO Digital Office
GmbH
Page: 326
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectCurrentNode If the OpenChildNodes and GetChildNode functions were used to edit the successors of the active node in workflow control, then SelectCurrentNode must be recalled to give you access to the current node again. int SelectCurrentNode () Return values: -1: 1: See also:
No node activated Ok NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition NodeAllowActivate NodeObjectID OpenChildNodes GetChildNode
© 1998..2002 ELO Digital Office
GmbH
Page: 327
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectLine The SelectLine function lets you select an entry in the current selection list. To do this, the left-hand page of Archive view is used, or the Clipboard list, Post list, Search list or To-do list. int SelectLine (int LineNo) Parameters: LineNo: Line to be selected Return values: -4: -3: -2: Otherwise: See also:
Reaches end of list No active work area No selection list available Line selected before operation
SelectView
© 1998..2002 ELO Digital Office
GmbH
Page: 328
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectNode This function selects an entry from the list of workflow nodes prepared with "GetNodeList". int SelectNode (int NodeNumber) Parameters: NodeNumber
Node selected (0..n-1).
Return values: -2: 1:
Invalid node number Ok
Available from: 3.00.508 See also:
GetNodeList NodeXXX Properties
© 1998..2002 ELO Digital Office
GmbH
Page: 329
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectPostBoxLine Function SelectPostBoxLineEx This function selects an entry in the Postbox. By using SelectPostBoxLineEx you can load the document in the viewer again. int SelectPostBoxLine (int LineNo) int SelectPostBoxLineEx (int LineNo, int Mode) Parameters: LineNo Mode
Line to be selected 1=Document is reloaded in the viewer
Return values: -2: -1: 1: See also:
Invalid line number No active work area Ok UnselectPostBoxLine PostBoxLineSelected SelectAllPostBoxLines UnselectAllPostBoxLines
© 1998..2002 ELO Digital Office
GmbH
Page: 330
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectRootNode This selects the root node of the current workflow. This root node can be queried or edited with the node…properties. If you need the current node again afterwards, call it up with the SelectCurrentNode function. int SelectRootNode () Return values: 1:
Ok
Example: set Elo=CreateObject("ELO.professional") call Elo.SelectRootNode fields=split(Elo.NodeComment,",") call Elo.ConfirmWorkflowEx(fields(0), fields(1), fields(2), fields(3), "Back","", 1,0) Available from: 3.00.380 See also:
NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeName NodeTerminateScript NodeType NodeUser NodeYesNoCondition NodeAllowActivate NodeObjectID OpenChildNodes GetChildNode
© 1998..2002 ELO Digital Office
GmbH
Page: 331
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectSearchListLine This function selects an entry in Search view. The line number here runs from 0 till the amount of entries minus 1. From version 3.00.544 on, you have the further possibility to enter a negative line number. In this case the line is not only selected but the document view on this line is additionally actualized. Since for the first line it can’t be distinguished between a “0” and a “minus 0”, this line begins at “-1” instead of a “-0” for the first entry. int SelectSearchListLine (int LineNo) Parameters: LineNo
Line to be selected
Return values: -2: -1: 1: See also:
Invalid line number No active work area Ok UnselectSearchListLine SearchListLineSelected
© 1998..2002 ELO Digital Office
GmbH
Page: 332
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectTreePath This command activates the tree view in the search view and seperates it according to the specified parameter strings. The various levels are each marked by a ¶-Seperator, the last level will be selected and not seperated further. Thereby you can declare for the last level the placeholders “*” for “select first entry” and “-“ for “select nothing”. int SelectTreePath (AnsiString TreePath) Parameters: TreePath
Path to be seperated in the tree view
Return values: -1: 1:
No work area active Ok
Examples: The following example accomplishes a search over all emails (mask number 2), which contain anywhere in the sender “Thiele”. Afterwards the path stock – purchase – arrivals is seperated an there the first sub-entry is selected: Set Elo=CreateObject("ELO.professional") Elo.SelectView 4 Elo.PrepareObjectEx 0, 0, 2 Elo.SetObjAttrib 0, "%Thiele%" Elo.DoSearch Elo.SelectTreePath "stock¶purchase¶arrivals¶*" Available from: 4.00.152 See also:
SelectView
© 1998..2002 ELO Digital Office
GmbH
Page: 333
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectUser Function SelectUserEx The SelectUser and SelectUserEx function lets you call a selection dialog to select a user. You get a list of all users (optionally suppressing your own entry) and get returned the user ID selected (or –1 if you cancel). int SelectUser (int SuppressOwnName) Parameters: SuppressOwnName
0: All users, including your own name 1: Your own name is not included for selection.
Return values: -1: >=0:
No user selected UserId
AnsiString SelectUserEx (int SelectFlags) Parameters: SelectFlags
Value: 1: Allow MultiSelect in user selection 16: User name – choose last name 32: Group name – choose last name 256: Do not include own name in list
Return values: Empty: Otherwise:
No user selected user list, with multiple selection numbers separated by commas
Example: Set Elo=CreateObject("ELO.professional") Users = Elo.SelectUserEx(1) UserList = split(Users, ",") for each UserNo in UserList MsgBox Elo.LoadUserName(UserNo) Next Available from (Ex): 3.00.276 See also:
FindUser LoadUserName ActiveUserId
© 1998..2002 ELO Digital Office
GmbH
Page: 334
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectView The SelectView function lets you decide which working view you want to have on top. You can also use it to ask which view is currently active. int SelectView (int ViewId) Parameters: ViewId
0: Query current View, response value 1..5 1: Archive View 2: Clipboard 3: Postbox 4: Search 5: To-dos 6: Messages 7: (Government Version only) Records 8: In preparation
Return values: -2: -1: 1: See also:
Invalid value for ViewId No active work area When ViewId>0: new view activated SelectLine
© 1998..2002 ELO Digital Office
GmbH
Page: 335
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelectWorkArea Normally all Automation commands affecting the UserInterface (e.g. GotoId) apply to the currently active view. If you are working with a second view, you cannot control the two windows independently of each other. The SelectWorkArea function lets you define all subsequent commands for one of the two views. After completing the window-based operations, you should reset to the standard setting with SelectWorkArea(0). Watch out that, where operations extend over a period of time, a work area may have become invalid, e.g. if the user has closed the window in the meantime. For this reason the explicit selection should always only be made at short notice and should be reset immediately after completing the tasks. Example: set Elo = CreateObject("ELO.professional") if Elo.SelectWorkArea(1)>=0 then ‘ now come the commands for the first work area x=Elo.SelectView(3) ’ Switch to Postbox view end if if Elo.SelectWorkArea(2)>=0 then ‘ now come the commands for the second work area x=Elo.SelectView(5) ‘Switch to To-do view end if ’After the operation reset to standard setting x=Elo.SelectWorkArea(0) int SelectWorkArea (int ViewNr) Parameters: ViewNr.
Number of work area 0: uses area currently active (standard setting) 1: uses area 1 2: uses area 2
Return values: -2: -1: 0,1,2:
Area selected not active Invalid work area selected Area last selected
Available from: 3.00.264
© 1998..2002 ELO Digital Office
GmbH
Page: 336
ELOprofessional - OLE Automation Interface
02.03.2007
Function SelList The SelList function lets you make ELO show a hierarchical list. As input parameter you give the filename of the list. If you only give a name without a filepath, the file is expected in the Postbox directory. As return value you get an empty string (Cancel) or the option selected. AnsiString SelList (AnsiString) Return values: Empty: Cancel, no selection Text: Option selected See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 337
ELOprofessional - OLE Automation Interface
02.03.2007
Function SeparateTiffFile With the function SeperateTiffFile you can split multipage tiff-files into single tiff files. These files can automatically, controlled by separate pages, be combined to partial documents again. For the single files the original name is used as file name. This name is added by an underscore and the line number (starting with 0). From the file XYZ.TIF the single files XYZ_0.Tif, XYZ_1.TIF … becomes, they are filed in the same directory. Caution: ELO does not check, if a name conflict is existent for the new created files. If there exists already an entry among one of the automatically generated file names, it will be overwritten without demand or warning. If it is not guaranteed, that such conflicts cannot occur, the script must accomplish this check before the request. AnsiString SeparateTiffFile (AnsiString FileName, int ScanProfil, int Trennseite, int Leerseite) Parameters: FileName: ScanProfil: Treenseite:
Leerseite:
Path and file name of the file to be split -1: no default, 0..7: ELO scan profile (definition of the seperator page, empty page) Seperator page to be used for partial document detection: 1: No seperator page, all pages are put into one target document 2: Bar seperator page 3: Empty page as seperator page 4: Single pages, no partial document compendium 0: Maintain empty pages, 1: Abolish empty pages
Return values: List of the created file names, connected with a seperator each example: set Elo = CreateObject("ELO.professional") file=Elo.ActivePostFile if file "" then MsgBox Elo.SeparateTiffFile( file, -1, 4, 0 ) end if Available from: 4.00.212
© 1998..2002 ELO Digital Office
GmbH
Page: 338
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetCookie The SetCookie function sets the value of a cookie entry. If the cookie does not yet exist, it is automatically generated. The Get/SetCookie functions are primarily intended so ELO scripting macros can store information permanently in ELO. The cookie memory is only deleted when you close ELO. To set a cookie, you give it a name and a value. You access a cookie with its name (Ident) and the value assigned to it is returned. If the cookie is not known, an empty string is returned. Please note the number of cookies is limited. Each macro and any other external program should only use a few of them and each time you launch it you should use the same ones again and not keep creating new ones. int SetCookie (AnsiString Ident, AnsiString Value) Parameters: Ident Value
Cookie name, used with GetCookie Cookie content
Return values: -1: 1: See also:
Error creating cookie (e.g. memory full) Ok GetCookie
© 1998..2002 ELO Digital Office
GmbH
Page: 339
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetObjAttrib This function sets the value of an input line in the current document mask. There are 3 values for each input line: The "visible" description, shown to the user in the document masks as a field name (e.g. invoice number). It provides a line name for the user. The extension, used in the database to identify the line in the index (e.g. RENR). It provides a line reference for the machine. The input value; this saves the user input (e.g. 199807106) int SetObjAttrib (int AttribNo, AnsiString AttribValue) Parameters: AttribNo AttribValue
The lines of the input masks are numbered consecutively from 0…49. The new input value of this line, up to 30 characters at all
Return values: -2: -1: 1: See also:
No write access Invalid line number Ok GetObjAttrib SetObjAttribKey SetObjAttribName
© 1998..2002 ELO Digital Office
GmbH
Page: 340
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetObjAttribFlags Changes the flags of a keywording line of the current document mask. Bit values: Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6
Insert only from keywording list append starting * before searching append final * before searching Tab break after this line Line is invisible Line is read only Show line with the short description
int SetObjAttribFlags( int AttribNo, int Flags ) Parameters: AttribNo: Flags:
Line Number, from 0 to 49 and 51 (Filename of the document) New Flags value
Return values: -1: -2: 1:
Invalid line number No write access ok
Available from: 5.00.164
© 1998..2002 ELO Digital Office
GmbH
Page: 341
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetObjAttribKey This function changes the index key of a line of the current document mask. There are 3 values for each input line: The "visible" description, shown to the user in the document masks as a field name (e.g. invoice number). It provides a line name for the user. The extension, used in the database to identify the line in the index (e.g. RENR). It provides a line reference for the machine. The input value; this saves the user input (e.g. 199807106) int SetObjAttribKey (int AttribNo, AnsiString KeyValue) Parameters: AttribNo KeyValue
The lines of the input masks are numbered consecutively from 0…49. The new index of this line.
Return values: -2: -1: 1: See also:
No write access Invalid line number Ok GetObjAttribKey SetObjAttrib SetObjAttribName
© 1998..2002 ELO Digital Office
GmbH
Page: 342
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetObjAttribMax This function sets the maximum length of an input line in the current document mask. The field is evaluated in the standard input mask within ELO. If you make your inputs using the OLE Automation program, you must make sure yourself that the minimum and maximum lengths of an input are observed. int SetObjAttribMax (int AttribNo, int AttribMax) Parameters: AttribNo AttribMax
The lines of the input masks are numbered consecutively from 0…49. Maximum length of input, 0: No control
Return values: -2: -1: 1: See also:
No write access Invalid input line Ok GetObjAttribMax SetObjAttribMin GetObjAttribType
© 1998..2002 ELO Digital Office
GmbH
Page: 343
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetObjAttribMin This function sets the minimum length of an input line in the current document mask. The field is evaluated in the standard input mask within ELO. If you make your inputs using the OLE Automation program, you must make sure yourself that the minimum and maximum lengths of an input are observed. int SetObjAttribMin (int AttribNo, int AttribMin) Parameters: AttribNo AttribMin
The lines of the input masks are numbered consecutively from 0…49. Minimum length of input, 0: No control
Return values: -2: -1: 1: See also:
No write access Invalid input line Ok GetObjAttribMin SetObjAttribMax SetObjAttribType
© 1998..2002 ELO Digital Office
GmbH
Page: 344
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetObjAttribName This function changes the name of a line the user sees in the current document mask. There are 3 values for each input line: The "visible" description, shown to the user in the document masks as a field name (e.g. invoice number). It provides a line name for the user. The extension, used in the database to identify the line in the index (e.g. RENR). It provides a line reference for the machine. The input value; this saves the user input (e.g. 199807106) int SetObjAttribName (int AttribNo, AnsiString NameValue) Parameters: AttribNo NameValue
The lines of the input masks are numbered consecutively from 0…49. The new name of this line.
Return values: -2: -1: 1: See also:
No write access Invalid line number Ok GetObjAttribName SetObjAttrib SetObjAttribKey
© 1998..2002 ELO Digital Office
GmbH
Page: 345
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetObjAttribType This function sets the type of input of an input line in the current document mask. The field is evaluated in the standard input mask within ELO. If you make your inputs using the OLE Automation program, you must make sure yourself that the input type is observed. 0: any text field 1: date field 2: numerical field int SetObjAttribType (int AttribNo, int AttribType) Parameters: AttribNo AttribMax
The lines of the input masks are numbered consecutively from 0…49. Permitted input type
Return values: -2: -1: 1: See also:
No write access Invalid input line Ok GetObjAttribType SetObjAttribMax SetObjAttribMin
© 1998..2002 ELO Digital Office
GmbH
Page: 346
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetOption The SetOption function lets you change individual settings temporarily in the Options dialog. The call gives as return value the value of the current setting. AnsiString SetOption (int OptionNo, AnsiString NewValue) Parameters: OptionNo:
0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
Postbox – automatically stored if index is complete Name of fax printer (if configured) Name of TIFF printer (if configured) OM: name of Outlook mask OM: number of "Sender" index line OM: number of "Recipient" index line OM: number of "Id" index line OM: how it is filed (0=MSG format) Client running in an NT environment Length of index line Length of short description Length of memo text Pre-defined postbox mask Mask for new structure elements Mask for new documents Mask for new office documents threshold value for “large document” warning Last ObjectId number in archive (read only)
Return values: Old value of option or "ERROR" Example Set Elo=CreateObject("ELO.professional") OldVal=Elo.SetOption(0, "FALSE") MsgBox "Old value of the option stood at :" & OldVal & ", it was changed to False." NewVal=Elo.QueryOption(0) MsgBox "New value of the option stands at : " &NewVal call Elo.SetOption(0, OldVal) MsgBox "Value was reset to original status again." Available from: 3.00.286 Option No 3 and following: from 3.00.350 See also:
QueryOption
© 1998..2002 ELO Digital Office
GmbH
Page: 347
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetReplSet This function lets you add or erase a new replication set. You will find an example of this under PrepareReplSet. int SetReplSet (int ReplSetNo, int Status) Parameters: ReplSetNo: Status:
Number of replication set to be set or deleted 0: Delete set, 1: Set set
Return values: -2: -1: 1: See also:
No active object (PrepareReplSet missing or failed) No active work area Ok PrepareReplSet QueryReplSet UpdateReplSet
© 1998..2002 ELO Digital Office
GmbH
Page: 348
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetScriptButton This function lets you assign a script to a script button on the main ELO screen. The assignment is saved under the respective user. The function is called within installation scripts, which allow scripts to be imported and buttons and menus to be assigned at the same time. int SetScriptButton (int iTabSheet, int iButton, AnsiString sScriptName, int iVisible) Parameters: iTabSheet
iButton sScriptName iVisible
Select view: 1: Archive view (up to 16 buttons) 2: Clipboard view (up to 8 buttons) 3: Postbox (up to 8 buttons) 4: Search (up to 8 buttons) 5: To-do (up to 8 buttons) Number of buttons (1..16 or 1..8) Name of script (without extension) 1 = Switch button visibly 0 = Switch button invisibly
Return values: -4: -3: -2: -1: 1: See also:
Script not available Invalid value for iButton Invalid value for Archive view No active work area Ok SetScriptMenu GetScriptButton ImportScript
© 1998..2002 ELO Digital Office
GmbH
Page: 349
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetScriptEvent This function sets a script event. SetScriptEvent (AnsiString Event, AnsiString Script, int Mode) Event :
String with event descriptor (see Event List) Or position with preceding # (these values may vary in forthcoming ELO versions).
Script :
String with script name without ending (if in standard script path) or complete pathname with filename + ending (script is then automatically copied to script directory) If an empty string is sent, the event set is deleted. In this case the mode has no significance.
Mode :
0 – Change script assignment only if there is free space (if the script contains a pathname, when it is changed an existing file is not overwritten and the script is not assigned) 1 – Always change script assignment (if script contains a pathname, when it is changed an existing file is overwritten)
Return values: -5 -4 -3 -2 -1 >=0
Error copying script File does not exist Script position filled Event not known Mode not implemented Event number that was set
Example: Sets a script from the script directory in the OnTimer event if the space is not filled. ELO. SetScriptEvent ("sEonTimer", "My Timer Script",0) Sets a script from drive A: in the OnTimer event whether it is filled or not. ELO. SetScriptEvent ("sEonTimer", "a:\anyScript.VBS",1) Sets a script from the script directory in the event at Position 6 ELO. SetScriptEvent ("#6", "Do something script", 0) Deletes a script from Event 12 ELO. SetScriptEvent ("#12", "", 0) Event list Event sEonTimer sEbeforeCollectPBox sEafterCollectPBox sEbeforeCollectWv sEafterCollectWv sEafterScan sEafterBarcode © 1998..2002 ELO Digital Office
Position 0 1 2 3 4 5 6 GmbH
Description With Timer call Before collecting Postbox entries After collecting Postbox entries Before collecting to-dos After collecting to-dos After scanning After barcode detection Page: 350
ELOprofessional - OLE Automation Interface sEafterOCR sEafterSearch sEafterChangeArcDepth sEonReworkBarcode sEafterMovePBox sEonClickEntry sEonWorkWv sEbeforeMovePBox sEonEnterArc sEonLeaveArc sEonLoadSaveUser sEafterInsertNewDoc sEafterSaveWv sEbeforeDeleteWv sEbeforeExImportEntry sEbeforeShowDoc sEonCheckInOutDoc SEoOnEditNote
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
02.03.2007
After OCR After Search After changing Archive depth Barcode reworking After moving from Postbox When clicking on entry When working wrapper text Before moving from Postbox When entering Archive When leaving Archive When loading or saving a user After inserting new document in the Archive After saving a to-do date Before deleting a to-do date Before exporting/importing an entry Before showing a document When checking a document in/out When editing post-it note
Additionally available from version 4.00.190 on: sEeditNote sEinsertRef sECollectList sEreadwriteActivity sEviewerExport sEbeforeSearch sEbatchStore sEhtmlView
See also:
24 25 26 27 28 29 30 31
Editing a post-it note Inserting/Moving a reference Before collecting the successor list Reading or writing an activity Exporting in the viewer Before the search Batch storage Before the display of the HTML subject data
GetScriptEvent
© 1998..2002 ELO Digital Office
GmbH
Page: 351
ELOprofessional - OLE Automation Interface
02.03.2007
Function SetScriptMenu This function lets you enter an ELO script in the context menu of the main ELO screen. Each view (Archive view, Clipboard, Postbox, Search and To-dos) has its own context menu. The assignment is saved under the respective user. The function is called within installation scripts, which allow scripts to be imported and buttons and menus to be assigned at the same time. int SetScriptMenu (int iTabSheet, AnsiString sScriptName) Parameters: iTabSheet
sScriptName
Select view: 1: Archive view 2: Clipboard 3: Postbox 4: Search 5: To-dos Name of script (without extension)
Return values: -2: -1: 1: See also:
Invalid value for Archive view No active work area Ok SetScriptButton GetScriptButton ImportScript
© 1998..2002 ELO Digital Office
GmbH
Page: 352
ELOprofessional - OLE Automation Interface
02.03.2007
Function ShowActivities (int,AnsiString) The ShowActivities function shows a list of activities. You make the selection with the SQLString. int ShowActivities (int Mode, AnsiString SQLString) Parameters:
Mode:
1:
SQLString:
If list only has one entry, go immediately to Edit. 16: When editing, set focus to return date 256: When editing, block Version, Project and Recipient fields. SQL query of data records to be selected.
Return value: -1 1
No active work area Ok
Available from: 3.00.360 See also:
ShowActivities EditActivity ReadActivity WriteActivity NextActivity
© 1998..2002 ELO Digital Office
GmbH
Page: 353
ELOprofessional - OLE Automation Interface
02.03.2007
Function ShowAutoDlg () Available from:
Ver 3.00.228
Shows the dialog created. CreateAutoDlg must be called first. It is not possible to call ShowAutoDlg several times in succession, because pressing OK or Cancel upsets the information needed to show the dialog. So you then have to open CreateAutoDlg again. int ShowAutoDlg () Return value: 0 – Cancel was pressed 1 – OK was pressed Example: Creates an empty dialog and shows it. Elo.CreateAutoDlg ("My dialog") Elo.ShowAutoDlg See also:
CreateAutoDlg AddAutoDlgControl GetAutoDlgValue
© 1998..2002 ELO Digital Office
GmbH
Page: 354
ELOprofessional - OLE Automation Interface
02.03.2007
Function ShowDocInverted This function shows the currently open TIFF document inverted. int ShowDocInverted () Parameters: None Return values: -2: -1: 1:
No active viewer visible No active work area Ok
See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 355
ELOprofessional - OLE Automation Interface
02.03.2007
Property SigId (int) The SigId property defines the document manager ID of the signature of a document. A wrong entry at this place leads to the destruction of the signature. Available from: 5.00.042 See also:
MaskKey DocKey DocKind DocPath
© 1998..2002 ELO Digital Office
GmbH
Page: 356
ELOprofessional - OLE Automation Interface
02.03.2007
Function Sleep This function accomplishes a break with an adjustable amount of milliseconds. Thereby you can additionally execute a ProcessMessages before and/or after the waiting time. This request leads to the fact, that the client stays active operated. int Sleep (int Flags, int Delay) Parameters: Flags Delay
Bit 0: ProcessMessages before the sleep Bit 1: ProcessMessages after the sleep Rest: reserved Waiting time in milliseconds
Return values: 1: ok Available from: 4.00.054 See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 357
ELOprofessional - OLE Automation Interface
02.03.2007
Function SortSearchList Sort the search result list. The option "multicolumn view" has to be activated. int SortSearchList( int Column, int SortOption ) Parameter: Column SortOption
Number of the column to be sorted (starts with zero) 1: Toggle sort order (ascending/descending). Like header click. 2: as above, but column contains date entries 3: Sort ascending 4: Sort descending 5: Date sort ascending 6: Date sort descending
Return values: -1: 1:
No active work area ok
Available from: 5.00.174
© 1998..2002 ELO Digital Office
GmbH
Page: 358
ELOprofessional - OLE Automation Interface
02.03.2007
Function SplitFileName The SplitFileName function looks at a filepath (drive – path – filename or server – path – filename) and finds the path element with the drive or server, the filename or the file Id. AnsiString SplitFileName (AnsiString FilePath, int iMode) Parameters: FilePath iMode
Full filename with drive and path 1: Returns drive+path element 2: Returns filename 3: Returns file Id
Available from: 3.00.220
© 1998..2002 ELO Digital Office
GmbH
Page: 359
ELOprofessional - OLE Automation Interface
02.03.2007
Function StartFlow This function opens the user dialog for starting a workflow. Both standard workflows and ad hoc workflows can be started (determined by setting a parameter). int StartFlow (int Mode, int ObjectID) Parameters: Mode ObjectID
0: start standard workflow, 1: start ad hoc workflow Internal ELO number (ID) of ELO object assigned to workflow
Return values: -2: -1: 1: See also:
Invalid objectID No active work area Ok FindFlowTemplate ActivateFlow
© 1998..2002 ELO Digital Office
GmbH
Page: 360
ELOprofessional - OLE Automation Interface
02.03.2007
Function StartFlowEx This function opens the user dialog for starting a workflow. Both standard workflows and ad hoc workflows can be started (determined by setting a parameter). Ad hoc workflows can also be generated and automatically started. If you want to create an ad hoc workflow without UserInterface, you have to write a text file describing it before calling it (for the structure, see example below). You then send this file as the WFInfo parameter (Warning: don't forget the prefix "Template:"). int StartFlowEx (int Mode, int ObjectID, AnsiString WFName, AnsiString WFInfo) Parameters: Mode ObjectID WFName WFInfo
0: start standard workflow, 1: start ad hoc workflow Internal ELO number (ID) of ELO object assigned to workflow Name of workflow to be generated File with information on ad hoc workflow structure
Return values: -1: 1:
Available from:
-2: Invalid objectID No active work area Ok
3.00.394 Example: Set Elo=CreateObject("ELO.professional") Set Fso = CreateObject("Scripting.FileSystemObject") IniFile="c:\temp\flow.ini" UserId=Elo.ActiveUserId NodeName="Test 1" Id=Elo.GetEntryId(-1) call Elo.PrepareObjectEx(Id,0,0) UserList=Elo.GetObjAttrib(0) Fso.CreateTextFile IniFile Set f2 = Fso.GetFile(IniFile) Set ts2 = f2.OpenAsTextStream(2, 0) msg="[Template]" & vbcrlf msg=msg & "Name= " & Elo.ObjShort & vbcrlf msg=msg & "TerminateUser=" & UserId & vbcrlf msg=msg & "Type=1" & vbcrlf msg=msg & "TerminateLabel=Finished" & vbcrlf msg=msg & "StartLabel=Distribution" & vbcrlf msg=msg & "UserList=" & UserList & vbcrlf msg=msg & "NodeName= " & NodeName & vbcrlf ts2.Write(msg) ts2.Close call Elo.StartFlowEx(1, id, "ISO", "Template:"&IniFile) See also:
FindFlowTemplate ActivateFlow
© 1998..2002 ELO Digital Office
GmbH
Page: 361
ELOprofessional - OLE Automation Interface
02.03.2007
Function StartScan The StartScan function lets you start a scan sweep in Postbox. With the ActionCode parameter you can define whether it is to scan single pages or do a batch scan. The second parameter determines what scanner default settings are to be used (page size etc.). You can find the image scanned in ActivePostFile. If this entry is empty, a scanning error has occurred or the user cancelled the procedure. int StartScan (int ActionCode, int PageSize) Parameters: ActionCode
0: No scan, just set page size 1: Batch scan 2: Single page scan
PageSize
0: Scan with Preview 1..4: With scanner parameter set 1..4 (options scanner)
Return values: -1: 1:
No active work area Ok
See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 362
ELOprofessional - OLE Automation Interface
02.03.2007
Function Status This function sets a text in the status line in the current main ELO window. int Status (AnsiString Text) Parameters: Text: text to be output Return values: -1: 1: See also:
No active work area Ok UpdatePostbox
© 1998..2002 ELO Digital Office
GmbH
Page: 363
ELOprofessional - OLE Automation Interface
02.03.2007
Function StoreDirect This function stores the Postbox entries selected in Archive, so it corresponds to the menu command 'Store direct in Archive' in the Postbox context menu. Before starting it, the tab you want must be opened in Archive view. int StoreDirect () Parameters: None Return values: -3: -2: -1: 1: See also:
No tab selected No entries selected in Postbox No active work area Ok StoreKeyword StoreMulti
© 1998..2002 ELO Digital Office
GmbH
Page: 364
ELOprofessional - OLE Automation Interface
02.03.2007
Function StoreKeyword This function stores the Postbox entries selected in Archive by keyword, so it corresponds to the menu command 'Store keyword in Archive' in the Postbox context menu. int StoreKeyword () Parameters: None Return values: -2: -1: 1: See also:
No entries selected in Postbox No active work area Ok StoreDirect StoreMulti
© 1998..2002 ELO Digital Office
GmbH
Page: 365
ELOprofessional - OLE Automation Interface
02.03.2007
Function StoreMulti This function stores the Postbox entries selected in Archive, and it corresponds to the menu command 'Store Tab Unnamed' in the Postbox context menu. int StoreMulti () Parameters: None Return values: -3: -2: -1: 1: See also:
No tab selected No entries selected in Postbox No active work area Ok StoreDirect StoreKeyword
© 1998..2002 ELO Digital Office
GmbH
Page: 366
ELOprofessional - OLE Automation Interface
02.03.2007
Function ToClipboard This function sends a text to the Windows Clipboard. Int ToClipboard (AnsiString Text) Parameters: Text
Text to be sent
Return values: Always o Available from: 3.00.456 Example: Option Explicit Dim Elo,url,id,Guid,iObjID,iLine,Body set Elo=CreateObject("ELO.professional") url="http://hobbit3:8081/guid/" if Elo.SelectView(0)=1 then Id=Elo.GetEntryId(-1) ' Get selected entry if Id>1 then if Elo.PrepareObjectEx(Id,0,0)>0 then Guid=Mid(Elo.ObjGuid,2, Len(Elo.ObjGuid)-2) Elo.ToClipboard url & Guid end if end if elseif Elo.SelectView(0)=2 or Elo.SelectView(0)=4 then iLine=0 Body="" Do iObjID=Elo.GetEntryID(iZeile) If iObjID=0 Then Exit Do Elo.PrepareObjectEx iObjID,0,0 If Elo.ObjTypeEx=254 Then Guid=Mid(Elo.ObjGuid,2, Len(Elo.ObjGuid)-2) Body=Body & url & Guid & vbCrLf & vbCrLf End If iLine=iLine+1 Loop Until False Elo.ToClipboard Body end if See also:
FromClipboard
© 1998..2002 ELO Digital Office
GmbH
Page: 367
ELOprofessional - OLE Automation Interface
02.03.2007
Function TreeWalk This function runs from the Start node through all subnodes and requests a script for each entry. This way you can work through whole structures with one call. When working through subobjects, the Parameters mode lets you work on the current node before the subnode or after the subnode. If you want to apply an attribute of a cabinet to all documents, then you should stipulate "before" (the folder attribute must be set before the tabs are edited). If you want to gather information (e.g. how many documents meet a certain criterion), then "after" is more appropriate (all the tabs must first be counted to find the total number in the folder). If the "node succession" is not important (e.g. for "Print all documents"), then you should choose the "before" method, because it puts slightly less load on the system. The Parameters mode also lets you decide whether you want to include references or stick to the main lines of succession. With the MaxDepth parameter you can define the maximum depth you want to work on. For example, if you want to edit all folders, set the start node to 1 (archive object) and maximum depth to 2 (cabinet and folder level). Then in the callback script you only have to check whether the call refers to a cabinet object (in which case you do nothing) or a folder object. The search starts here but does not go any deeper, so this call is extremely efficient. If you want all the objects listed, you can simply set maximum depth to 15 or another sufficiently high number. This function offers a simple means of working with whole hierarchies. It is not designed for maximum performance, because a separate script call must take place for every entry. So if you are dealing with large volumes of data or you need the fastest possible access, you must create the TreeWalk in the script itself. However, most of the time this version should be fast enough. int TreeWalk (int Mode, int StartObj, int MaxDepth, AnsiString ScriptName) Parameters: Mode StartObj MaxDepth ScriptName
Bit 0 Parent node is edited before child node Bit 1 Parent node is edited after child node Bit 2 No references are included ELO object number of start node Maximum search depth Name of callback script called for each object
Return values: -2: -1: >0:
Start node not found No active work area Number of objects found
Example: Script 1 with the name "Callback" set Elo = CreateObject("ELO.professional") Action=Elo.GetCookie("ELO_WALK") Action=Action & (15-Elo.ActionKey) & ": " & Elo.ObjShort & vbcrlf call Elo.SetCookie("ELO_WALK", Action) Script 2, containing the actual TreeWalk call and a list of all the short descriptions below the node currently selected.
© 1998..2002 ELO Digital Office
GmbH
Page: 368
ELOprofessional - OLE Automation Interface
02.03.2007
set Elo = CreateObject("ELO.professional") call Elo.SetCookie("ELO_WALK", "") cnt=Elo.TreeWalk(1, Elo.GetEntryId(-1), 15, "callback") Action=Elo.GetCookie("ELO_WALK") Action="TreeWalk: "&cnt&" Entries."&vbcrlf&vbcrlf&Action MsgBox Action Available from: 3.00.324 (Professional) 5.00.222 (Office) See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 369
ELOprofessional - OLE Automation Interface
02.03.2007
Function UnselectAllPostBoxLines This function unselects all the lines of the Postbox. int UnselectAllPostBoxLines () Parameters: None Return values: -1: 1: See also:
No active work area Ok SelectPostBoxLine UnselectPostBoxLine PostBoxLineSelected UnselectAllPostBoxLines
© 1998..2002 ELO Digital Office
GmbH
Page: 370
ELOprofessional - OLE Automation Interface
02.03.2007
Function UnselectArcListLine This function unselects an entry in the right list of the archive view. int UnselectArcListLine (int LineNo) Parameters: LineNo
Line to be unselected
Return values: -2: -1: 1:
Invalid line number No work area active Ok
Available from: 5.00.036 Example: Set Elo = CreateObject( "ELO.professional" ) for i = 0 to 8 res = res & Elo.ArcListLineSelected( i ) & " - " next for i = 0 to 3 Elo.SelectArcListLine( i ) next for i = 4 to 7 Elo.UnselectArcListLine( i ) next Elo.SelectArcListLine( 8 ) MsgBox res See also:
SelectArcListLine ArcListLineSelected
© 1998..2002 ELO Digital Office
GmbH
Page: 371
ELOprofessional - OLE Automation Interface
02.03.2007
Function UnselectLine This function unselects an entry in the current view. This function may only used in views, where multiple selection (e.g. clipboard) is allowed. In the other views (e.g. archive view), it can lead to coincidental results. int UnselectLine (int LineNo) Parameters: LineNo
Line to be unselected
Return values: -4: -3: -2: 1: 2: See also:
Invalid line number No work area active Invalid line number Ok, was selected Ok, was not selected SelectPostBoxLine PostBoxLineSelected SelectAllPostBoxLines UnselectAllPostBoxLines
© 1998..2002 ELO Digital Office
GmbH
Page: 372
ELOprofessional - OLE Automation Interface
02.03.2007
Function UnselectPostBoxLine This function unselects an entry in the Postbox. int UnselectPostBoxLine (int LineNo) Parameters: LineNo
Line to be unselected
Return values: -2: -1: 1: See also:
Invalid line number No active work area Ok SelectPostBoxLine PostBoxLineSelected SelectAllPostBoxLines UnselectAllPostBoxLines
© 1998..2002 ELO Digital Office
GmbH
Page: 373
ELOprofessional - OLE Automation Interface
02.03.2007
Function UnselectSearchListLine This function unselects one entry in the Postbox. int UnselectSearchListLine (int LineNo) Parameters: LineNo
Line to be unselected
Return values: -2: -1: 1: See also:
Invalid line number No active work area Ok SelectSearchListLine SearchListLineSelected
© 1998..2002 ELO Digital Office
GmbH
Page: 374
ELOprofessional - OLE Automation Interface
02.03.2007
Function UpdateDocument, UpdateDocumentEx This function adds a new image file to an ELO document. Depending on the status of the document the old image file is overwritten (freely edited), a new version is created (version controlled) or the function is rejected (no revision allowed). int UpdateDocument (int DocId, int Status, AnsiString DocFilePath) int UpdateDocumentEx (int Id, int Status, AnsiString FilePath, AnsiString Version, AnsiString Comment) Parameters: DocId Status DocFilePath
Internal ELO ObjectId to which new image file is to be added 1: Check access right to file path, 2: Check right to edit documents Path and name of new image file
In addition for UpdateDocumentEx: Version Comment
Version details, free text up to 10 characters long Comment on new version, free text
Return values: -6: -5: -4: -3: -2: -1: 1:
Error entering image in database Error inserting image file in Archive Error reading document data from database DocId does not point to a document Write access to document refused No active work area Ok
Available from: Ex-Version from 3.00.170 See also:
InsertDocAttachment GetDocumentPath
© 1998..2002 ELO Digital Office
GmbH
Page: 375
ELOprofessional - OLE Automation Interface
02.03.2007
Function UpdateObject With the UpdateObject function you add an entry to the database. The object must first be created with PrepareObject or have been read from the database. If it is a new object, before saving it the system checks with IndexText whether it can identify a permitted predecessor object. int UpdateObject () Parameters: None Return values: -4: -3: -2: -1: 1: 3: See also:
Error with update in database Store destination missing or unknown Error with new entry in database No active work area New entry made Update accomplished PrepareObject LookupIndex
© 1998..2002 ELO Digital Office
GmbH
Page: 376
ELOprofessional - OLE Automation Interface
02.03.2007
Function UpdatePostbox The UpdatePostbox function triggers a repeat collection of the contents of Postbox. As well as the actual Postbox files, TIFF printer files, network scanner files and Outlook entries are collected too. int UpdatePostbox () Parameters: None Return values: -1: >=0: See also:
No active work area Number of entries in Postbox UpdateObject UpdateDocument UpdatePostboxEx
© 1998..2002 ELO Digital Office
GmbH
Page: 377
ELOprofessional - OLE Automation Interface
02.03.2007
Function UpdatePostboxEx The UpdatePostboxEx function triggers either a repeat collection of the Postbox contents or you can select one specific entry from Postbox. As well as the actual Postbox files, TIFF printer files, network scanner files and Outlook entries are collected too. int UpdatePostboxEx (int iMode, int iLine) Parameters: iMode: 0: Collect Postbox as for UpdatePostbox 1: Select current PB entry by clicking icon 2: Select current PB entry by clicking text line 3: Select associated line number by clicking icon 4: Select associated line number by clicking text 5: Clearance for current Postbox viewer Return values: -1: >=0: See also:
No active work area Number of entries in Postbox (if collecting) or 1 UpdateObject UpdateDocument UpdatePostbox
© 1998..2002 ELO Digital Office
GmbH
Page: 378
ELOprofessional - OLE Automation Interface
02.03.2007
Function UpdateReplSet This function lets you start or cancel a new replication set. You will find an example of this under PrepareReplSet. int UpdateReplSet (int Flags) Parameters: Flags:
A combination of the following values is possible: 1: Make changes to succeeding objects too 2: Write changes only 4: Show progress in status bar
Return values: -3: -2: -1: 1: See also:
Error writing replication information No active object (PrepareReplSet missing or failed) No active work area Ok PrepareReplSet QueryReplSet SetReplSet
© 1998..2002 ELO Digital Office
GmbH
Page: 379
ELOprofessional - OLE Automation Interface
02.03.2007
Property UserFlags (int) The UserFlags property contains the user's rights (as a bit mask). An administrator can assign any rights, while subadministrators can assign only their own rights. If a subadministrator assigns more rights than he or she actually has, there is no resulting error message; the setting is automatically adjusted. See also:
ReadUser WriteUser UserParent UserKeys UserGroups
© 1998..2002 ELO Digital Office
GmbH
Page: 380
ELOprofessional - OLE Automation Interface
02.03.2007
Property UserGroup (int) With the UserGroup property you can check whether a user entry includes a group or one user. See also:
ReadUser WriteUser UserParent UserKeys UserFlags
© 1998..2002 ELO Digital Office
GmbH
Page: 381
ELOprofessional - OLE Automation Interface
02.03.2007
Property UserGroups (AnsiString) The UserGroups property contains the user's groups (as a sequence of numbers separated by commas). An administrator can assign any groups, while subadministrators can assign only their own groups. It is the responsibility of the script programmer to make sure that in this case it is really only groups that are assigned, not users or unused Ids. See also:
ReadUser WriteUser UserParent UserKeys UserFlags
© 1998..2002 ELO Digital Office
GmbH
Page: 382
ELOprofessional - OLE Automation Interface
02.03.2007
Property UserId (int) The UserId property lets you find the number of the user data record currently active. Although this property also allows write access, you should only change this number if you are quite certain what the result of the action will be (in general there is no reason for the script programmer to change this entry). See also:
UserName
© 1998..2002 ELO Digital Office
GmbH
Page: 383
ELOprofessional - OLE Automation Interface
02.03.2007
Property UserKeys (AnsiString) The UserKeys property contains the user's keys (as number sequence separated by commas, the key number paired with the access right). An administrator can assign any keys, while subadministrators can assign only their own keys. It is the responsibility of the script programmer to make sure that in this case only the available keys are assigned. See also:
ReadUser WriteUser UserParent UserKeys UserFlags
© 1998..2002 ELO Digital Office
GmbH
Page: 384
ELOprofessional - OLE Automation Interface
02.03.2007
Property UserName (AnsiString) The UserName property lets you read the user name of the user data record currently loaded. This data record may have been filled, for example, by means of an event either reading or writing it. In this case the ActionKey property is set depending on the reason for the call (20000: immediately before restoring a user, 20001: after saving a user, 20002: after reading a user. See also:
UserId
© 1998..2002 ELO Digital Office
GmbH
Page: 385
ELOprofessional - OLE Automation Interface
02.03.2007
Property UserParent (int) The UserParent property can assign a (sub)administrator to a user. See also:
ReadUser WriteUser UserGroups UserKeys UserFlags
© 1998..2002 ELO Digital Office
GmbH
Page: 386
ELOprofessional - OLE Automation Interface
02.03.2007
Property UserTerminate (AnsiString) The property contains the name of the user that has terminated this node. The name is saved in text form when the node is closed. So it is also retained if the original user is deleted or renamed in ELO AccessManager. Available from: 3.00.508 See also:
NodeAction NodeActivateScript NodeAlertWait NodeAvailable NodeComment NodeFlowName NodeTerminateScript NodeType NodeUser NodeYesNoCondition
© 1998..2002 ELO Digital Office
GmbH
Page: 387
ELOprofessional - OLE Automation Interface
02.03.2007
Function Version Returns the ELO version number in the form MSSBBB. (Example 123456): M SS BBB
Main version number (1 in the example) Subversion (23 in the example) Internal build number (456 in the example)
This query lets you ascertain that your current ELO version is new enough, in case you are using functions that were only added in later versions. int Version () Parameters: None Return values: Elo version number
© 1998..2002 ELO Digital Office
GmbH
Page: 388
ELOprofessional - OLE Automation Interface
02.03.2007
Property ViewFileName (String) The ViewFileName property contains the name of the document shown in document viewer. It is usually interpreted in scripts linked to the event "Before showing document". In a script like this, by changing this property you can get a different document file shown. See also:
© 1998..2002 ELO Digital Office
GmbH
Page: 389
ELOprofessional - OLE Automation Interface
02.03.2007
Property WFComment (AnsiString) This property gives you the workflow comment. See also:
WFName WFFlowName WFOwner
© 1998..2002 ELO Digital Office
GmbH
Page: 390
ELOprofessional - OLE Automation Interface
02.03.2007
Property WFFlowName (AnsiString) This property gives you the workflow name. See also:
WFName WFComment WFOwner
© 1998..2002 ELO Digital Office
GmbH
Page: 391
ELOprofessional - OLE Automation Interface
02.03.2007
Property WFName (AnsiString) This property gives you the workflow node name. See also:
WFFlowName WFComment WFOwner
© 1998..2002 ELO Digital Office
GmbH
Page: 392
ELOprofessional - OLE Automation Interface
02.03.2007
Property WFOwner (AnsiString) This property gives you the workflow user. See also:
WFName WFFlowName WFComment
© 1998..2002 ELO Digital Office
GmbH
Page: 393
ELOprofessional - OLE Automation Interface
02.03.2007
Property WindowState (int) This property lets you query the state of the ELO window. Values: Normal: Minimized: Maximized: Not known:
1 2 3 -1
Available from: 3.00.218
© 1998..2002 ELO Digital Office
GmbH
Page: 394
ELOprofessional - OLE Automation Interface
02.03.2007
Function WriteActivity (AnsiString) This function writes an activities entry. If the ActGuid field is empty, a new entry is created, and when a value is entered in it the data record selected is updated. The parameter string consists of the following elements: ActGuid DocGuid Destination RevVers ActTStamp Project Owner Creator Prio ShortDesc SentAt SentMode DueDate BackAt BackMode Comment FileName UD0 UD1 … UD9
Unique Id of activity; leave empty with a new entry! GUID of ELO document (find with GetGuidFromObj). Recipient Version Time stamp. Leave empty; automatically generated when saved Project name, preset if possible Owner, ELO user number Creator, ELO user number 0,1 or 2 Short description Send date in ISO format Send mode Date return due, ISO format Date returned, ISO format Return status Additional text File name sent User defined field 1 User defined field 10
int WriteActivity (AnsiString Activity) Parameters:
Activity:
Return value: -1
-2 No active work area
Data record to be written
Error writing 1
Ok
Example: Id=Elo.GetEntryId(-1) if (Id>1) then guid=Elo.GetGuidFromObj(Id) res="¿" & guid res=Elo.EditActivity(res) MsgBox res Elo.WriteActivity(res) end if Available from: 3.00.360 See also:
ShowActivities EditActivity ReadActivity WriteActivity NextActivity
© 1998..2002 ELO Digital Office
GmbH
Page: 395
ELOprofessional - OLE Automation Interface
02.03.2007
Function WriteColorInfo This function lets you write a color definition from the current ELO color object. The color settings may be set in advance using the properties ColorInfo and ColorName. int WriteColorInfo (int ColorNo) Parameters: ColorNo: Number of color definition to be written Return values: -2: -1: 1: See also:
Invalid value for color number No active work area Ok ReadColorNo ColorInfo ColorName
© 1998..2002 ELO Digital Office
GmbH
Page: 396
ELOprofessional - OLE Automation Interface
02.03.2007
Function WriteKey (int KeyNo, AnsiString KeyName) This function creates a new key entry or renames it. int WriteKey (int KeyNo, AnsiString KeyName) KeyNo: Key number starting with 1 KeyName: Name of key Return values: -1 0 1
Invalid key number Error Ok
Example: Creates a new system key number 10 called Accounts. Elo.WriteKey (10,"Accounts") See also:
ReadKey ChangeKey
© 1998..2002 ELO Digital Office
GmbH
Page: 397
ELOprofessional - OLE Automation Interface
02.03.2007
Function WriteObjMask This function lets you write a mask definition. The mask must first have been read with ReadObjMask. If you want to create a new one, it must be initialized with ReadObjMask(9999). int WriteObjMask () Parameters: None Return values: -3: -2: -1: 1:
No active work area Invalid value for mask number Error reading database Ok
Example: (valid from Version 3.00.290) ' Create new mask with an index line NEWMASK=9999 Set Elo=CreateObject("ELO.professional") if Elo.ReadObjMask(NEWMASK)