Version 1.99 :  (22 June 2006)
	- Fixed template code generation problems under Clarion 5.5 with the Clarion
        (Legacy) template chain.
- Fixed the spell checking template, the include and exclude controls by default
        were not working correctly and setting controls to be excluded by default
        would cause no code to be generated, even for control that were specified
        in the include list.
Version 1.98 :  (07 June 2006)
	- ExcelToTPS template: Added the ability to choose a row to start importing from.
- ExcelToTPS template: Wizard now allows the file to be chosen using a double click.
- ExcelToTPS template: Import list is alphabetised.
- ExcelToTPS template: Fixed a problem with the Path being changed by the file dialog.
Version 1.97 : (06 May 2006)
	- Template fix - for when used with multiple instances of the Progress control template
        (%ThisProgress was being declared multiple times).
- Fixed template error where a quotation mark was missing in the #pragma link
        statement that linked the olepro32.lib file into the project in local
        mode in Clarion 6.
Version 1.96 : (06 April 2006)
	- New Excel report layout that improves columns and alignment, allowing more controls
      and more complex reports to export to Excel neatly. It still is not perfect,
      and you should make sure that controls in columns align, but they no longer
      have to be the same width and columns can be any width without causing problems.
      As long as the left hand side of the controls in each "column"
      of the report line up, they will line up in Excel. Other than that it should
      be much more flexible.
- New error handling and processing allowing reporting of internal errors, error codes
      and messages.
- New utility methods for converting numbers to different bases (decimal, hex, octal,
      binary etc.).
Version 1.95 : (30 March 2006)
	- Added a namespace ('oi') prefix to all API functions etc. This is to improve future compatibility
      with newer version of Clarion, as well as other thirdparty accessories.
- Change the string sizes in Office Inside to be larger. Made the body of the oiCalendarQType
      4KB. 
 New Sizes:
 _oit:TinyStringSize equate( 20 ) ! Really small Office Inside String Size
 _oit:SmallStringSize equate( 50 ) ! Small Office Inside String Size
 _oit:MedStringSize equate( 100 ) ! Medium Office Inside String Size
 _oit:StdStringSize equate( 255 ) ! Standard Office Inside String Size
 _oit:LargeStringSize equate( 1024 ) ! Large Office Inside Sting size
 _oit:TelNoStringSize equate( 30 ) ! String size for telephone / fax numbers
 
 IMPORTANT: If you have declared queues with
      the same structure as those in Office Inside for use with methods such as
      GetContactsQ then you will need to change the size of the strings in the
      queue. It is strongly recommended that you use the types defined by Office
      Inside. See the Demo application for examples.
- Changed the Demo application to use the queue types defined by Office Inside for contacts,
      calendar entries etc.
- Fixed updating of address fields for contacts. Email address etc. was being update but
      the address field was not.
- Fixed problems with FileExplorer and Office Inside on the same window, both object can
      now be used in a single window.
- Added an example application showing FileExplorer being used to display and edit HTML portions
      of Outlook mails etc.
- Fixed large body sizes of Outlook appointments not working (size was 255 characters,
      new maximum size is 4096).
Version 1.94 : (27 March 2006)
	- Added a namespace ('oi') prefix to all API
      functions etc. This is to improve future compatibility with newer version
      of Clarion, as well as other thirdparty accessories.
 
Version 1.93 : (24 March 2006)
	- Fixed a regression in the Outlook class
      that caused problems listing the Outlook mailboxes.
- Update example application for Clarion 6.
Version 1.92 : (20 March 2006)
	- Added a SaveAs method to the PowerPoint class.
- Added equates for the PowerPoint class for
        file types, updated the documentation 
- Added to the example application.
- New installer which fixes a number of issues
        and problems
- A number of internal changes and fixes within
        the Excel and Word classes (no functionality has been affected).
- When OfficeInside is disabled on the global
        template the icons for the Editable Reports selection dialog are no longer
        added to the project.
Version 1.91 : (10 Feb 2006)
	- Fixed : The 'Select Controls' buttons
        in the SpellChecking template were not working correctly.
- Fixed : The 'TableSetOutsideBordersLineStyle' method was
        not always returning 1 (true) to indicate success. 
- Changed the Word.GotToEndOfDoc() method to
        improve reliability, the previous version did not work well with documents
        that contained tables etc. as well as text.
- Entirely new Excel and Word report generation
        engine, a large number of new internal methods and all existing methods have
        been rewritten. Now uses a generic method to create accurate layouts for arbitrary
        reports. For Excel (and to some extent Word) it is worth noting that the closer
        the report layout is to a table the better the result are likely to be in
        terms of space usage, however the new reporting engine will create a report
        that is a close to optimal as possible given the the constraints of the formats.
- Word and Excel reports now support all colors
        and formating, including background colors etc.
- Automatic resizing of columns and tables in
        Word and Excel reports.
- Completely redone C6 demo example, with new
        editable report options showing formatting etc. for both Word and Excel.
- Fixed problem exporting large numbers of records
        to Word and Excel for editable reports.
- Fixed multi page editable reports.
- Added checkbox for using the Clarion 6 RTF
          Control, if this box is not checked then when spell checking is done on an
          RTF control an error message will be displayed.
 
 
Version 1.90 Gold : (01 Dec 2005 )
  - Fixed the PowerPoint Automation example in offdemo.app.
- New methods in the PowerPoint class: 
    - GetInfo
- Update
- TakeSnapShotOfWindowPos
- Improved the PowerPoint Automation extension template.
- Added functionality to position PowerPoint
    according to template settings (same as the other objects).
- Numerous new equates added for PowerPoint classes.
- Compatible with FM3 3.62 (local and standalone
    tested successfully - was an incompatibility in OI 1.86)
- Several internal improvements.
- Improved documentation.
- First build compiled using Clarion 6.2.9048 (Official Release).
Version 1.87 Beta : (19 Oct 2005 )
  Major internal improvements / changes, especially
    relating to the Editable Report classes - fixed an issue with FM3 / OI / C62
  Moved a lot of the editable report code from
      the template into the dll
    
    
    Version 1.86 Beta : (17 Oct 2005 )
  Internal improvements.
  Major internal changes to the editable (Word / Excel) report templates.
    
    
    Version 1.85 Beta : (7 Oct 2005 )
  Fixed (again) the OI / FM3 / C6 local-mode
    bug (causing FM3 to not trap error 47's!)
  The Outlook_ReadEmailFolders example in offdemo.app
    now shows how to implement a progress bar.
  Outlook has a limitation of 254 emails when
      reading mail folders, we have worked around this (internal changes).
    
    
Version 1.84 Beta : (4 October 2005 )
  Fixed a problem with the Outlook.UpdateAppointment
    method, which caused the IsRecurring property to be set to true unintentionally.
  The Editable Report template code now works
      with Legacy apps also, new example in Clarion\3rdParty\Examples\Office\Demo called OffDemoC60L.app
  Fixed a problem that was occurring in Clarion
      6.2, when using Office Inside and File Manager 3 in the same application.
    
    
Version 1.83 Beta : (23 September 2005 )
  Renamed (internally) numerous API functions
      that were causing conflicts with another 3rdParty product who was using the
    same prefix as me. Cleaned up various parts of the library (internally).
  Identified that LIB_MODE is broken in Clarion
      6.2.9047, tried to work around that as best as possible until a new version
    of Clarion is released.
  You can now return RECORD:OutOfRange from
      within the Excel.ImportXLSFile_TakeRecord methods to stop importing records.
    Updated the documentation and examples.
  The oiWord.CloseDoc method was always returning
    FALSE, regardless of whether it worked or not.
  Internal improvements to the oiWord.PrintMe
    method. The pPrinterName parameter has now been documented.
  Improvements to the documentation, including
    several previously undocumented methods in the Excel class.
  New functionality added to the Spell-Check
      templates - you now have more control over which controls are spell-checked
    and which are skipped.
  Deprecated the oiRTF class. This class was never documented.
  Fixed a bug that caused setting Outlook reminders to fail.
  Released a new version of oiHelper.exe (v1.03).
    
    
Version 1.81 Beta : (15 Aug 2005 )
  Fixed an issue in Clarion 6.2.9047, affecting local mode compiles.
    
    
Version 1.80 Beta : (1 Aug 2005 )
  Fixed an issue with the SpellCheck template code.
  The Outlook.SendEmail method and the oi_SendEmail
      function now take an extra parameter called pOpen, which lets you either
    send the email or display it on screen.
  New method: Outlook.GetMailAttachmentsQ
  New method: Outlook.SaveAttachment
  New method: Excel.AutoFilter (not yet working
    properly, not yet documented)
  Documented the Excel.FreezePanes method.
  Several internal improvements.
    
    
Version 1.79 Beta : (15 July 2005 )
  Internal changes, reimplemented _oiDllMode_
      compiler flag (used internally). Fixes some issues in standalone mode.
    Tested all compiles (all modes, all versions of Clarion etc) thoroughly.
    No known issues.
  Several minor internal improvements / optimizations.
    
    
Version 1.78 Beta : (6 July 2005 )
  Deprecated the _oiLinkMode_ and _oiDllMode_ compiler flags.
  Fixed an issue with compiling in local mode (problem in the last release)
    
    
Version 1.77 Beta : (4 July 2005 )
  New function called 'oi_RGBHexToBGRHex', used internally.
  Fixed: The offdemo.app example's "Word_Automation"
    example was not logging method calls to the queue in the example.
  Fixed: The offdemo.app example's "Excel_Automation"
    example had an orphaned embed, resulting in the menus not being activated
    once Excel had initialized.
  Fixed: The oiWord.GotoItem method was not
    working correctly for EndOfDoc
  Fixed: The oiWord.TableSetOutsideBordersLineStyle
    method was not working correctly when setting oiw:LineStyleNone
  Numerous improvements to the Editable Report Templates.
    
    
Version 1.76 Beta : (24 June 2005 )
  FIX: Template bug in 1.74 where I used 'MyExcel'
    not '%Object'.
  New template extensions (introduces in 1.74)
    now support Fomin Report Builder, and CPCS.
  Several improvements around the report extension templates.
  New example (offdemoC6.app) showing the new
    report extension templates being used with the Clarion 6 XML and PDF templates.
  First build compiled using Clarion 6.2.9046.
    
    
Version 1.74 Beta : (20 June 2005 )
  NEW: Create editable Word or Excel documents
      from standard Clarion reports by simply adding an extension template!!
    Supports all 3rdParty template tools, and hand-coded reports!!! (Only
    works in Clarion 6.1 and later)
  Improvement: oiWord.ReplaceText method now
      does 'Search and Replace' in Text Boxes, and other objects, not just the document body
  Internal changes: Deprecated the oiRTF class (was never documented)
  Internal changes: Major internal changes to the DLL
  Internal changes: Implemented _oiDllMode_ and _oiLinkMode_
    
    
Version 1.73 Beta : (3 June 2005 )
  Internal Improvements to oiOutlook.DeleteAppointment,
    oiOutlook.DeleteContact and oiOutlook.DeleteTask methods
  New methods: oiOutlook.DisplayAppointment,
    oiOutlook.DisplayContact, oiOutlook.DisplayTask
  oiWord.OpenDoc now takes three new parameters
    (ReadOnly, AddToRecentFiles, and Password)
  oioContactsQType1 data type has changed (Added
      a new field called 'Categories'). This affects the oiOutlook.GetContactsQ
    method which takes this data type as a parameter.
  oiOutlook.UpdateAppointment, oiOutlook.UpdateTask
      and oiOutlook.UpdateContact methods were not updating Outlook if the pValue
    parameter was blank, this has been changed.
  Change: The 'Ignore' and 'Ignore
      All' buttons in the spell checking template were causing words to be ignored
      for the life time of the oiWord object. Now words are only ignored until
    you have finished checking the spelling for a particular section of text.
  New methods (used internally by the spell check templates):
    
      - oiWord.CheckSpelling_AddToLocalDictionary
- oiWord.CheckSpelling_IsWordInLocalDictionary
Deprecated most of the old Word Report template
      code. This was never documented code. Please see the offdemo.app example app.
  Changed the Excel.ImportXLSFile method (now
    documented) to take an extra parameter (pColumns).
  Fixed the "Excel_ImportFromXlsToTps_NoWizard"
    procedure in my offdemo.app example.
  The Excel.SetColumnWidth method was setting
      the "AutoFit" attribute based on row 1, it now takes all rows into account.
  Increased the size of the fields storing the
    email body in my offdemo.app's "Outlook_ReadEmailFolders" example.
  Fixed: The "Outlook.SendEmail" method
      was always returning false (0), even if the mail was sent successfully.
    This has been fixed. This also resulted in the "oi_SendEmail"
    function always returning false.
  Changed the "Outlook_SendEmail"
    procedure in my offdemo.app example, was sending mail using the extension
    template, now it uses a function call (one line of code)
  Started working on Editable Word reports, not included in this build.
  Started working on multiple Word Document objects running simultaneously, not included in this
    build.
  First build compiled with Clarion 6.1 9034, and Clarion 6.2.
    
    
Version 1.72 Beta : (25 April 2005 )
  oiOutlook.UpdateAppointment method now supports
      the following new equates (see the documentation on the oiOutlook.UpdateAppointment
    method for more information):
  
    - oio:AppointmentIsRecurring
- oio:AppointmentRecurrence_Type
- oio:AppointmentRecurrence_DayOfMonth
- oio:AppointmentRecurrence_DayOfWeekMask
- oio:AppointmentRecurrence_Duration
- oio:AppointmentRecurrence_Instance
- oio:AppointmentRecurrence_Interval
- oio:AppointmentRecurrence_MonthOfYear
- oio:AppointmentRecurrence_NoEndDate
- oio:AppointmentRecurrence_Occurrences
- oio:AppointmentRecurrence_PatternEndDate
- oio:AppointmentRecurrence_PatternStartDate
Changed: oioCalendarQType1 data structure
      used by oiOutlook.GetAppointmentsQ. Recurrence_PatternStartDate now
      comes before Recurrence_PatternEndDate, and I've added two new fields
	  called Recurrence_PatternStartTime and Recurrence_PatternEndTime.
  Fixed a bug in the spell check template, added
    a new method (used internally) called "_GetNextStartOfWordFromSentence".
  Several minor internal changes / improvements
    
    
Version 1.71 Beta : (11 April 2005 )
  Changed: oioFolderItemsQType data structure
      used by oiOutlook.GetMailItemsQ changed. Have removed the "body"
      field. Please change your existing code
      if you have used the oiOutlook.GetMailItemsQ method. Also added several
      new fields into the oioFolderItemsQType data structure, including SenderEmailAddress, MessageSize.
  New Method: oiOutlook.GetEmailBody
  Updated: offdemo.app's "Read Email"
    example has been updated, now shows how to read emails from Outlook.
  Internal template improvements.
    
    
Version 1.70 Beta : (24 March 2005 )
  New template symbol called %OIBuild - other
    templates can use this to check the OI version number
  Several improvements in the offdemo.app example application
  Several methods in the oiOutlook class now
      return a byte indicating whether they worked or not (1 indicates success,
      0 indicates failure). Methods include:
    
      - DeleteAppointment
- DeleteContact
- DeleteTask
Changed the oioCalendarQType1 structure.
    This affects the oiOutlook.AppointmentProperties property, and several oiOutlook
      methods that pass this type as a parameter. We added several new fields
      to this structure (see below), after the existing IsRecurring item.
    See the offdemo.app example or email us if you need help. Note:
      This is still work in progress - documentation / examples / update methods
      will follow in the next build.
      - Recurrence_Type
        - Can be one of the following equates: oio:RecursDaily, oio:RecursWeekly,
        oio:RecursMonthly, oio:RecursMonthNth, oio:RecursYearly, oio:RecursYearNth
- Recurrence_DayOfMonth
- Recurrence_DayOfWeekMask
- Recurrence_Duration
- Recurrence_Instance
- Recurrence_Interval
- Recurrence_MonthOfYear
- Recurrence_NoEndDate
- Recurrence_Occurrences
- Recurrence_PatternEndDate
- Recurrence_PatternStartDate
oiOutlook's UpdateAppointment method now
      supports the following (
work in progress - still busy testing this code)
    
      - oio:AppointmentRecurrence_Type
- oio:AppointmentRecurrence_DayOfMonth
- oio:AppointmentRecurrence_DayOfWeekMask
- oio:AppointmentRecurrence_Duration
- oio:AppointmentRecurrence_Instance
- oio:AppointmentRecurrence_Interval
- oio:AppointmentRecurrence_MonthOfYear
- oio:AppointmentRecurrence_NoEndDate
- oio:AppointmentRecurrence_Occurrences
- oio:AppointmentRecurrence_PatternEndDate
- oio:AppointmentRecurrence_PatternStartDate
Several internal improvements in the dll
    
    
Version 1.69 Beta : (7 March 2005 )
  Improved: Dll now checks the EntryID
    field size (so that what Outlook returns to us does not exceed the size of
      our properties / internal variables) in the oiOutlook.GetContactsQ
    method. Also increased the size of the return variable in the oiOutlook.InsertAppointment,
      InsetTask, and InsertContact methods, and added similar checks
    in those methods.
  Improved: oiWord.SetSelection can now
      be used to select an entire table (useful for copying tables, deleting tables,
    etc)
  New methods: oiExcel.GetPaletteColor,
    and oiExcel.SetPaletteColor (Will be used in CapeSoft SendTo
    to add Excel RGB support)
  Changed: Deleted oiExcel color equates.
    By default you now simply pass standard Clarion color equates to any oiExcel
      method, unless you alter the palette (see the new oiExcel.SetPaletteColor
    method documentation for more info) In your code you may need to change
    code where you used oix:Yellow to COLOR:YELLOW now for instance.
  New method: oiExcel._GetExcelSwatchIDFromOISwatchID
    (used internally, undocumented)
    
    
Version 1.68 Beta : (28 Feb 2005 )
  Improved: oiWord now supports RGB color values,
      not just standard Clarion color equates (CapeSoft SendTo will soon
    take advantage of this)
  New function: oiRGBToBGRLong (can be used
    with oiWord to set colors to RGB rather than just the 16 clarion color equates)
  New functions: oi_LongToHex, oi_ByteToHex,
    oi_HexToLong (used internally)
  Fixed: Several properties were not being set
      in Outlook when inserting / changing records, including:
    
      - oiOutlook.AppointmentProperties.Location
New in all objects: New method called ErrorTrap,
      new property called SuppressErrorTrap, new extension template option
    labelled Suppress Error Messages
  New: The oiOutlook class now gives error messages
      when it finds a field returned by Outlook exceeds the size of the field (property)
      returned by Office Inside. This will help us find any other fields that
      are currently larger than the property sizes. The error messages currently
      say "Error in [methodname]: Property size not big enough for [field]
      size [size]". If you see any messages like this please tell me
      what they say. You can disable these messages by simply ticking the
    Suppress Error Messages checkbox in the template options. (Have
    added these messages to oiOutlook.GetAppointmentsQ, oiOutlook.GetTasksQ)
  Improved: oiOutlook.GetContactsQ method progress
      bar support improved (see the offdemo.app examples). Also added progress
    bar support to GetAppointmentsQ and GetTasksQ methods.
  Changed: The oiOutlook.GetContactsQ method
    now sorts the returned queue by FirstName,LastName.
  New properties:
      - oiOutlook.ContactProperties.CreationTime_Date
- oiOutlook.ContactProperties.CreationTime_Time
- oiOutlook.ContactProperties.LastModificationTime_Date
- oiOutlook.ContactProperties.LastModificationTime_Time
- oiOutlook.TaskProperties.CreationTime_Date
- oiOutlook.TaskProperties.CreationTime_Time
- oiOutlook.TaskProperties.LastModificationTime_Date
- oiOutlook.TaskProperties.LastModificationTime_Time
Changed: oioContactsQType1
      and oioTasksQType1. You will need to update your code if you have manually
      prototyped any queues to match these queue types (added four extra fields
      to each queue: CreationTime_Date, CreationTime_Time, LastModificationTime_Date
      and LastModificationTime_Time )
    
    
Version 1.67 Beta : (21 Feb 2005 )
  New methods: oiOutlook.UpdateTask, oiOutlook.UpdateContact,
    oiOutlook.UpdateAppointment (taking single parameters)
  Changed: All references throughout Office
      Inside (dll, template, examples etc) were using a string(50) to store Outlook
    EntryID data. This has been changed to rather use a string(255),
      defined in _oit:EntryIDSize. Please update your own code accordingly if necessary.
  Changed: ExcelImportWizard template. Please delete your oiExcelImportWizard procedure and
      rerun the template utility (Application --> Template Utility --> Class
    OfficeInside --> ImportXlsToTpsABC)
  Improved: Outlook code improved and optimized (internal changes)
  Improved: Improved the ImportXLS code
      template (now if you have not called the Excel.Init method before running
    this code template, it will Init and Kill Excel itself as needed).
  Improved: offdemo.app example application.
    Improved the Import from XLS to TPS (Wizard) example, and added a new
      (revamped) example called Import from XLS to TPS (No Wizard) - showing
      how to import an XLS file into a TPS table using a code template.
    
    
Version 1.66 Beta : (14 Feb 2005 )
  New method: oiExcel.ReplaceText
  New: oiShowSpellingSuggestions window now
    has a "Use Flat Controls" checkbox on its template for C6
  Improved: Internal code cleaned up and optimized in places
  New method: oiWord.FindText
  New methods: oiOutlook.GetAppointment, oiOutlook.GetTask, oiOutlook.GetContact
  Changed: oiOutlook.GetAppointmentsQ, oiOutlook.GetContactsQ,
      oiOutlook.GetTasksQ now all take an optional second parameter
    
    
Version 1.65 Beta : (7 Feb 2005 )
  
New:Please delete your oiShowSpellingSuggestions procedure, and run the template utility again
      (Application --> Template Utility --> Class OfficeInside --> ShowSpellingSuggestions)
    We are now modelling the Outlook 2003 spell check window, rather than the
    Word 2003 one, as Outlooks is more user friendly.
  New: Ignore All button on Spelling
    Suggestions window is now working
  Fixed: Compiler errors on Clarion 5.5 RTF controls (Spell Check code)
  New Methods:
    
      - oiWord.GetNameOfDictionary
- oiWord.CheckSpelling_AddToIgnoredWords
- oiWord.CheckSpelling_IsWordIgnored
Fixed: OI was closing Outlook in it's
      Kill method, regardless of whether Outlook was running before OI latched on to it
  Improved: Internal code cleaned up and optimized in places
    
    
Version 1.64 Beta : (28 Jan 2005 )
  Changed: oioContactsQType1 field sizes:
    
      - JobTitle changed from a string(10) to a string(50)
- AssistantName changed from a string(10) to a string(50)
Changed: The spell check code now give a "spell check complete" message
  Improved: Spell Check code now also supports memos
  Improved: The offdemo.app Spell Check example
    has been redone, now includes strings, cstrings, and memos
  Improved: Spell check code further optimized
  Improved: Code spring-clean in dll
    
    
    Version 1.63 Beta : (24 Jan 2005 )
  New: Template Utility called ShowSpellingSuggestionsLegacy
  New: Spell Check Support template now supports legacy apps
  New: Example in offdemleg.app showing how to use spell check template in a legacy app
  Improved: Spell check code has been optimized, now runs roughly 9 times faster
    
    
    Version 1.62 Beta : (12 Jan 2005 )
  New: Template Utility called ShowSpellingSuggestionsABC
  New section in Word docs, "How to add Spell Checking to your application"
  Improved: Spell checking code / template code (ABC)
  
 Note:
    In order for the current spell check code to compile under Clarion 6.1 and
    later, you will need to edit RTFCTL.INC as follows:
    CtlRTF SIGNED !,PROTECTED
  Deprecated: Word_SpellCheck_Controls template
    
    
Version 1.61 Beta : (10 Jan 2005 )
  Bug Fix: Word.TableSetColumnWidths and Word.TableGetColumnWidths
  Fixed: When automating MS Word, if you also
      had Outlook running, when closing Word you might get a message saying "This
    file is in use by another application...normal.dot". Resolved.
  New: Redid spell check code, see offdemo.app.
    More to come in next build.
  New example showing how to use Office Inside
    in a multi-dll app (abc)
  Improved: Outlook methods InsertTask,
    InsertAppointment, and InsertContact now return the GUID (string)
      for those items
    
    
Version 1.60 Beta : (Released 20 Dec 2004 )
  First build compiled with Clarion 6.1 Build 9031
  Improved: Internal architecture ito cleaning up disposed objects
    
    
Version 1.59 Beta : (Released 16 Dec 2004 )
  New: Several internal changes for better integration
    with CapeSoft File Explorer (more to follow in subsequent builds)
  New: oiExcel.ReadCell method takes a second
    parameter to let you read cell formulas
  Changed: oiWord.CheckSpelling method now only
      takes two parameters, not three. Please change
    any existing code accordingly.
  First build compiled with Clarion 6.1 Build 9030
    
    
Version 1.58 Beta : (Released 29 Nov 2004 )
  Fixed: oiWord.GetText method was sometimes
    discarding the last character in the text being returned
  New: New method called oiWord.TableMergeSelectedCells
  New: Released oihelper.exe version 1.02 (in
      your Clarion\3rdParty\Examples\Office\Demo folder). Improvements include:
    
      - Helper process now shuts down
        by itself when the calling procedure closes (in case you cancel)
- Added version resource info to the oihelper.exe file
New: New function called oi_GetFileVersionInfo
  New: New method called LaunchHelperProcess
    (all objects) which is called from inside the dll (for example by the oiWord.MailMergeRun
    method). Not yet documented, still work in progress.
  Improved: oiWord methods changed (extra parameter
    called MoveRight added)
  Improved: oiWord.ReplaceText method
      (was not returning true when successful)
    
    
Version 1.57 Beta : (Released 15 Nov 2004 )
  New methods: oiExcel.MergeCells, oiExcel.UnmergeCells
  New: The oiExcel.SelectWorksheet method can
    now take a long parameter to select sheets by number, not name
  New Example called "HandCoded"
    
    
Version 1.56 Beta : (Released 3 Nov 2004 )
  New: New version of the oiHelper exe (1.01),
    several improvements
  Fixed: oiWord.SetSelection method was not
    working under Word 2003
  Improved: Tidied up some of the template code
  Uncommented Create Read-Only Word Reports
    and the Spell Checking examples in the offdemo.app example,
      have started working on this code again
    
    
Version 1.55 Beta : (Released 29 Oct 2004 )
  Fixed: IsRecurring info returned by
    oiOutlook.GetAppointmentsQ was not working
  New: Exe called oihelper.exe (in your Clarion\3rdParty\examples\office\demo
    folder) which takes care of that annoying Outlook message "an application
    is trying to..." :-) 
  New: Template utility to import a wizard for
      importing Excel spreadsheets into a TPS table.. (ABC
    only at this time, legacy to follow)
  New: Function called oi_ClarionVersion,
    returns either 55 or 61, used internally
  Improved: oiExcel.ReadCell method -
    better support for reading dates from Excel
  Docs Updated for oiWord.ReplaceText
    
    
Version 1.54 Beta : (Released 22 Oct 2004 )
  Several methods fixed:
    
      - oiWord.MailMergeSetDataSource(undocumented)
- oiWord.MailMergeSetDestination(undocumented)
- oiWord.MailMergeSetEmailAddressFieldName(undocumented)
- oiWord.MailMergeSetEmailSubject (undocumented)
- oiWord.MailMergeRun(undocumented)
Several internal methods are now obsolete and have been deleted
  oiExcel.SelectCells method can now be used to select all cells in the current sheet (like Ctrl-A)
  Started cleaning up the template
    
    
Version 1.53 Beta : (Released 15 Oct 2004 )
  Several methods fixed:
    
      - oiWord.InchesToPoints
- oiWord.CentimetersToPoints
- oiWord.LinesToPoints
- oiWord.MillimetersToPoints
- oiWord.PicasToPoints
- oiWord.PixelsToPoints (not yet working)
- oiWord.PointsToCentimeters
- oiWord.PointsToInches
- oiWord.PointsToLines
- oiWord.PointsToMillimeters
- oiWord.PointsToPicas
- oiWord.PointsToPixels (not yet working)
New method: oiWord.SetParagraphFormatting
  Several internal improvements in the library (pertaining to Clarion 6.1)
    
    
Version 1.52 Beta : (Released 4 Oct 2004 )
  New methods for oiExcel : GetRowHeight; SetRowHeight
  oiExcel.SetColumnWidth method now takes omitable parameters
  If you omit parm 3 for oiExcel.SetColumnWidth,
      or omit parm 3 for oiExcel.SetRowHeight, then "AutoFit" is applied
    
Version 1.51 Beta : (Released 27 August 2004 )
  First build compiled with Clarion 6.1 Build 9027
    
    
Version 1.50 Beta : (Released 12 August 2004 )
  Changed "static" attribute on several properties
  Improved example application
  Major changes to the oiOutlook class.
    Please see the examples, these changes will break any
    code you wrote using the methods introduced in the last release.
    The reason for these changes is that several methods had so many parameters
      the code was looking messy, so we're made it much cleaner and more efficient,
      and have taken this opportunity to standardize several items (naming conventions,
      logic, etc) at the same time.
    
      - New oiOutlook methods include:
        
          - InsertAppointment, InsertTask, InsertContact
- UpdateAppointment, UpdateTask, UpdateContact
- DeleteAppointment, DeleteTask, DeleteContact
- GetTasksQ
 
- New oiOutlook properties include:
        
          - AppointmentProperties (group)
- TaskProperties (group)
 
- Renamed several oiOutlook methods / properties:
        
          - Renamed the oiOutlook GetContactsListQ
            method to GetContactsQ
- Renamed the oiOutlook.ProgressControls.GetContactsListQ
            to oiOutlook.ProgressControls.GetContactsQ
- Renamed the oiOutlook.GetCalendarQ
            method to oiOutlook.GetAppointmentsQ
 
- The following methods are no longer supported:
        
          - EditAppointment - Use UpdateAppointment instead
- EditContact - Use UpdateContact instead
 
Bug Fix: Initializing an oiOutlook object
    sometimes failed if Outlook was not already running.
  Updated the legacy example.
  First build compiled using Clarion 6.1 Build 9025
    
    
Version 1.49 Beta : (Released 23 July 2004 )
  New methods (and examples) for oiOutlook,
    including GetCalendarQ, AddAppointment, EditAppointment
  Changed several Outlook queue structures (added
    fields, changed data types)
  New function - oi_GetClarionTimeFromLongLong
    (used internally my methods, not documented)
  Started updating docs and examples for oiOutlook class
  First build compiled with Clarion 6.1 Gold(Build 9024)
    
    
Version 1.48 Beta : (Released 16 July 2004 )
  Can now set the visibility of Word and Excel
    using the Update methods, e.g. MyWord.Update (oiw:ApplicationVisible, true)
  First build tested with Clarion 6.1 RC6
    
    
Version 1.47 Beta : (Released 28 June 2004 )
  Deprecated the oiWord code template "Word_Method_Helper".
    The template was titled "PLEASE DO NOT USE" so this should not affect
    anyone. Updated demo apps accordingly.
  First build tested with Clarion 6.1 RC4
    
    Version 1.46 Beta : (Released 25 June 2004 )
  Several changes to oiOutlook - changed various
      methods and properties (all were previously undocumented), including:
    
      - Data types changed: oioFolderItemsQType, oioFolderNamesQType
- Methods changed: GetMailItemsQ
New example and methods showing how to read
    mail from an Outlook folder
  Several other fixes, esp in the oiWord class
    
    
Version 1.45 Beta : (Released 10 June 2004 )
  Fixed a bug causing a GPF as your exe closed
      when compiling in Clarion 6.1.
    
    
Version 1.44 Beta : (Released 8 June 2004 )
  First build to support Clarion 6.1 CR2
    
    Version 1.43 Beta : (Released 4 June 2004 )
  New features:
    
      - New oiExcel methods: SelectColumns, SelectRows, DeleteSelection
- Six new virtual methods in the oiOutlook class to handle Outlook events
Cleaned up / optimized oiExcel code
  Updated the feoi.app example (Office Inside / File Explorer in same app)
  First build to support Clarion 6.1 CR1
    
    
Version 1.42 Beta : ( Released 21 May 2004 )
  Bug fixes:
    
      - oiExcel::SaveAs method not always working under Excel 2000
Several internal fixes / improvements etc.
  First build shipping with a compiled Clarion 6.1 EA2 dll.
    
    
Version 1.41 Beta : ( Released 19 May 2004 )
  Bug fixes:
    
      - oiWord::SaveAs was not returning 1 to indicate success.
- Several methods broke in 1.40, now fixed. Include:
        
      
First build to support Clarion 6.1 EA2.
    
    
Version 1.40 Beta : ( Released 18 May 2004 )
  After being caught up in other projects for
      the past couple months this build includes a lot of "small things fixed
    along the way".
  The oiWord class has been COMPLETELY rewritten,
      over 11,000 lines of code in total. Now runs completely late bound.
    I did this because Word 2003 is not backward compatible. Parts of this
    code will be redone early bound later on if when I optimize the library.
  This is the first official release to support
    Clarion 6.1 (Clarion 5.5G, Clarion 6.0 and Clarion 6.1).
  Also uses a new build of the PWUtil dll.
    Several improvements / fixed in that dll also.
  The only parts of oiWord that have not yet
      been rewritten are Spell Checking, callback events, and Mail Merge.
    These will come next.
  Bug fixed in templates causing issues when
    compiling legacy apps.
  Have changed the Init method (all objects:
      Word, Excel, Outlook etc). This method now only takes two parameters,
      as I've done away with the first parameter (EarlyBound).
    Please change your code as this will break any existing
    code.
    
    
Version 1.30 Beta : ( Several unofficial releases )
  All objects are now based on late-bound code.
    The various init methods no longer have a parameter called pEarlyBound.
    I have updated all the template code, but 
if you use any hand-coded calls
    to the Init methods you will need to change them accordingly.
  Did more work on the oiOutlook::SendEmail
      method, and documented it. Also built a dll function called oi_SendEmail
      so that you can now send email from anywhere in your app with a single line of code!
  Bug Fix: If you called Init and Kill, then
      Init and Kill again in the same procedure the objects (any) did not initialize
    properly - Fixed.
  12 new methods for oiWord: CentimetersToPoints,
      InchesToPoints, LinesToPoints, MillimetersToPoints, PicasToPoints, PixelsToPoints,
      PointsToCentimeters, PointsToInches, PointsToLines, PointsToMillimeters, PointsToPicas,
    PointsToPixels.
  You no longer have to call "Kill"
    for my objects. If you forget the dll will take care of things for you..
    I'd recommend calling Kill though, just looks neater.
  API calls
    to CreateCompatibleDC were failing in apps using Office Inside - Fixed
  Template improvements for legacy apps
    
    Version 1.27 Beta : ( Released 14 Nov 2003 )
  First version tested / supporting Microsoft Office 2003.
  New method - oiOutlook::SendEmail. Not
      yet documented but this is working, still have a few more parameters to add
      before I officially document it.
    
    
Version 1.26 Beta : ( Released 13 Nov 2003 )
  First buld to support Clarion 6 Gold.
    
    
Version 1.25 Beta : ( Released 12 Nov 2003 )
  Fixed several methods that were setting MS
    Word Page Margins incorrectly, also made some template changes
  New methods - oiExcel::InsertWorksheet and
    oiExcel::SelectWorksheet
  All Excel methods now support multiple sheets,
      in that the currently active sheet is always assumed to be the sheet you want
      to work on
    
    
Version 1.24 Beta : ( Released 30 Oct 2003 )
  New example in offdemo.app --> Merge a
    Word document using a csv datasource, printing the merged document
  oiExcel::Copy and oiExcel::Paste methods are now working
  New methods: 
    
      - oiExcel::ProtectWorksheet
- oiExcel::UnprotectWorksheet
- oiExcel::ProtectWorkbook
- oiExcel::UnprotectWorkbook
- oiExcel::SetCellProtection
- oiExcel::SetCellNumberFormat
Changed (improved) several methods, including:
      - oiExcel::WriteToCell
- oiExcel::InsertRow
- oiExcel::InsertColumn
- oiExcel::SetCellBorders
- oiExcel::ReadCell
Changed (improved) the following methods -
    please check your code if you have used these methods
    as I have changed the order of the parameters in these methods, so your code
    might compile but won't work!
      - oiExcel::SetCellBackgroundColor
- oiExcel::SetCellFontName
- oiExcel::SetCellFontUnderline
- oiExcel::SetCellFontSize
- oiExcel::SetCellFontStyle
- oiExcel::SetCellFontColor
Worked though (alphabetically) all methods
      in the oiExcel class up to PrintMe. Several improvements. Please
      check your code if you use the oiExcel::CloseWorkbook method, as the parameters
      have changed (now also documented).
    
    
    Version 1.23 Beta : ( Released 27 Oct 2003 )
  Fixed an issue between OfficeInside and ObjectWriter 2.01 Beta
  First build to support Clarion 6, CR-6.
    
    
Version 1.22 Beta : ( Released 21 Oct 2003 )
  New option in the Word and Excel templates
    to control where Office automation windows are opened
  Changed the parameters for the oiWord, oiExcel,
    and oiPowerPoint objects' TakeEvent methods
  Various templates fixes (including actions
    to take when specified buttons are pressed)
  Several fixes / improvements, mostly for legacy
    support, in the template, library and examples
  Worked on Mail Merge (MS Word) code and examples.
    Major changes. If you were using any of the old examples / code / methods
      you might have broken code now (and/or orphaned embeds). Please see
    the new documentation / examples.
  Changed the "Object Type" drop list
      in the extension templates (Word / Excel / Outlook / PowerPoint) to rather
      be "Template Type". If you have added any extension templates
      to your own procedures you will need to choose an option from this new "Template
    Type" list from the template properties.
  Internal fixes for a possible problem in Clarion 6 CR-5
    
    
Version 1.21 Beta : ( Released 6 Oct 2003 )
  First official release to support Clarion  6 CR-4 / CR-5
  Fixed : GPF's if you call a virtual method
      in an object which you "new" yourself
    
    
Version 1.20 Beta : ( Released 18 Sep 2003 )
  New method: oiExcel.GetColumnAddressFromColumnNumber
  First official release to support Clarion 6 CR-3
    
    
Version 1.19 Beta : ( Released 10 Sep 2003 )
  First official release to support Clarion 6 CR-2
  Several minor internal improvements (tidying up)
    
    
Version 1.18 Beta : ( Released 5 Sep 2003 )
  New methods: 
    
      - oiWord::ShowMessage
- oiExcel::CountUsedRows
Improved methods:
      - oiExcel::SetCellBorders
- oiWord::TakeSnapShotOfWindowPos
- oiWord::RestoreSnapShotOfWindowPos
- oiExcel::TakeSnapShotOfWindowPos
- oiExcel::RestoreSnapShotOfWindowPos
New Functions: oi_ChangeDefaultShowMessageIcon
  Template Improvements:
      - Improved the template that generates portrait reports (Word) - now supports "Shrink to fit"
- Improved the Spell Checking template code / concepts
- The Add_MSWord_Object template now saves and restores the coordinates of MS Word, so that if your app
          moves / hides MS Word, when your app closes Word will open as per "normal"
        the next time the user opens it "directly" (Also done for the
        Add_MSExcel_Object template)
Example Improvements: Example in offdemo.app
    showing how to import from Excel to TPS.
    
    
Version 1.17 Beta : ( Released 26 Aug 2003 )
  First build to officially support Clarion 6 CR-1
  New examples showing how to generate portrait reports (Word, read-only)
  Improved the template for generating Word reports
  Improvements to the oiWord::Update method
  Worked on the PowerPoint object. Not yet documented.
    
    
Version 1.16 Beta : ( Released 20 Aug 2003 )
  New methods: 
    
      - oiExcel::SelectCells
- oiWord::SetBackground
- oiWord::InsertTextbox ( new properties / equates also )
New in Outlook: Edit the Address Book
  Major changes in templates / method prototypes
      / embed points / library. Template / prototype changes
could result
      in orphaned embedsaround parent calls, which you will need to move to
      the new embed points. Please email us if you need help with this.
    Please note that we have not finalized this code, and the 
next release
    might againcreate orphaned embeds.
  Spell Checking is now a template. Still
    have some issues to sort out with focus / threading.
  Rewrote most of the PowerPoint object, renamed
    methods etc. Fixed problems.
  New template for PowerPoint: Add_MsPowerPoint_Object
  Improved documentation, examples etc.
  Improvements to several methods, including
    oiWord::Update, oiWord::GetInfo
  Improved the "Generate Read-Only Report"
    template code and example
  New properties to control how an image is
      inserted. See the oiWord::InsertPicture method's documentation
    
    
Version 1.15 Beta : ( Released 1 August 2003 )
  New methods: 
    
      - oiOutlook::GetContactsListQ
        ( 83 variables returned! ) New example in offdemo.app showing this
        method in use.
- oiOutlook::AddTask -
          New example in offdemo.app showing this method in use. Tasks are
          added completely silently under Outlook XP, no warning message pops up
          from Outlook, even if Outlook is not "running" when you add the Task.
- oiExcel::Update
- oiExcel.GetInfo
Major improvement to the oiOutlook object
      (internally), now leak-proof in the event that the user closes Outlook mid-session,
      and also manages how to initialize itself based on whether Outlook is currently
    running or not.. Much more solid.
  Cleaned up the documentation
  Cleaned up internal code, and console debug output
  New template: Add_MSOutlook_Object
    
    
Version 1.14 Beta : ( Released 28 July 2003 )
  New methods: 
    
  
  First build to support Clarion 6 EA 5.1
  Released with a smaller version of the pwutil.dll file ( 136 KB )
    
    
    
Version 1.13 Beta : ( Released 25 July 2003 )
  New methods: 
    
      - oiWord::InsertBreak
- oiExcel::SetCellFontName
- oiExcel::SetCellFontUnderline
- oiExcel::SetCellFontSize
- oiExcel::SetCellFontStyle
- oiExcel::SetCellFontColor
- oiExcel::SetColumnWidth
More data types supported by oiExcel::ReadCell
  New template: Add_MSExcel_Object ( changed offdemo.app accordingly )
  Changes the equates for the TakeEvent method
    from being prefixed with "oiw" to "oi"
  New example showing how to read the Outlook
    Address Book. Undocumented, still work in progress.
  Cleaned up the documentation.
    
    
Version 1.11 Beta : ( Released 7 July 2003 )
  Internal improvements to several methods,
    including oiWord::OpenDoc
  First release to support Clarion 6 EA5
  Lots of work done on Mail Merging( still work in progress )
    
    
Version 1.0.9 Beta : ( Released 20 June 2003 )
  The oiWord::EventHandler method has been phased
    out. We now use the oiWord::TakeEvent method (fully documented).
  Major improvement to the oiExcel::ReadCell
    method (now supports more data types)
  New example showing how to import an xls file
      into a TPS file / browse ( must still improve
    import speed )
  oiWord::SaveAs now has more parameters (you
    can now set the password and file format when saving)
  New methods in oiWord class: OpenFooter, CloseFooter
  Minor tweak to the oiWord::ReplaceText method
  Fixed a problem in the oiExcel::OpenWorkbook
      method regarding Office 2000 compatibility 
    
    
Version 1.0.8 Beta : ( Released 13 June 2003 )
  Removed the WordSpellCheck class (merged into
      the parent oiWord class), and deleted the obsolete examples from the demo
    applications.
  Methods worked on: oiWord::CheckSpelling
    ( must still update docs )
  Improved the offdemo.app's "Word_SpellCheckExample"
    procedure. Still some issues to sort out but it is working much better
      now. Will still move most of this functionality
      to the templates as soon as it's been tested and I'm happy it's working properly
    .
  New methods for oiWord: GetText, OpenHeader,
    CloseHeader, MoveUp, MoveDown, MoveLeft, MoveRight
  The oiWord::Update method now supports additional
    equates (oiw:Left, oiw:Top, oiw:Width, oiw:Height).
  Several other minor / internal improvements / changes.
  To send messages to DebugView we now use these
    command line parameters: /oidebug0, /oidebug1, /oidebug2, /oidebug3 or /oidebug4.
  Two new functions: oi_GetWorkAreaWidth and oi_GetWorkAreaHeight 
    
    
Version 1.0.7 Beta : ( Released 6 June 2003 )
  First (official) release compatible with C6 EA 4.3 
  Several internal changes to library 
  New method called oiWord::ReplaceText 
  Tidied up / improved the offdemo.app example
    
    
Version 1.0.6 Beta : ( Released 30 May 2003 )
  Now compiles in local mode, no problems. 
  New methods in oiExcel class: 
    
      - SetPageView
- ShowToolbar / HideToolbar
- ShowFormulaBar / HideFormulaBar
- ShowStatusBar / HideStatusBar
- InsertColumn
- InsertRow
- SetCellBackgroundColor
- SetCellBorders
- ReadCell
Worked on Excel documentation
  New example called FeOi.app, showing how to
      integrate Office Inside with File Explorer ( work
      in progress, only compiles standalone in this release )
    
    
Version 1.0.5 Beta : ( Released 23 May 2003 )
  C6 Compatible (compiles, demos seem to run okay, haven't done extensive testing yet)
  Fixed / changed the oiWord::TakeEvent logic
  Worked on Word Mail Merge (examples,
      docs, templates).. Added support for using CSV files as a data source
  Improved docs
  Now uses pwutil.dll version 2.0.0.6,
      the same as File Explorer 3.0 is using. Trying to bring these two tools
      together soon...
  New methods in the oiExcel class:
    (most of these are still work-in-progress: more parameters
    will be available in future releases)
    
      - OpenWorkbook
- PrintMe
- PrintPreview
- Save
- SaveAs
- SetPrintArea / ClearPrintArea
- Undo / Redo
- Cut / Copy / Paste / PasteSpecial (not yet finished)
- ToDo
New dll functions:
      - oi_SetForegroundWindow 
- oi_GetRegValue 
- oi_SetRegValue 
Version 1.0 Beta 4c : ( Released 2 April 2003 )
  Tidied up example application ( offdemo.app ), quite a bit of work on the 
	Word_Automation procedure.
  Various library improvements.
  New methods: 
    
      - oiWord::PrintMe
- oiWord::Undo / oiWord::Redo
- oiWord::SetPageView
- oiWord::ShowToolbar / oiWord::HideToolbar
Methods where parameters / functionality changed:
      
  
  New equates for the oiWord::GetInfo and oiWord::Update methods:
      - oiw:FullScreenMode
- oiw:RulerVisible
oiw:ActivePrinter is no longer supported in
      the oiWord::Update method, it is still supported in the GetInfo method.
    Should you wish to "update" the active printer, you can now do this
      using the oiWord::PrintMe method (extra parameter added).
      Version 1.0 beta 4 : ( Released 26 Feb 2003 )
  Started working on the oiExcel class. 
  New oiExcel methods: Added basic
      methods for opening / closing / writing to cells etc. 
  Changed library so it's safe to
      automate Word and Excel at the same time. 
  Re-enabled and improved the Word
      Reporting template (only generating read only docs, haven't included the code
      for editable docs in this release). 
  Improved oiWord::GotoItem method
      (can now go to named bookmarks) 
  Improved oiWord::InsertText method
      (takes a second parameter now, added functionality) 
  New functions, including: oi_SysTempDir 
  General improvements to library 
  Fixed the legacy example (and
      template) which I broke in the last release (still not as complete as the
      abc example which is more "cutting edge" <g>..) 
  Also fixed the benchmark example. 
  Cool new docs 
    
    Version 1.0 beta 3 : ( Released 13 Feb 2003 ) 
  
Major changes to everything, including: 
  Renamed various classes, functions,
      properties and equates (sorry, rather now than later...) 
  Several new classes Changed / renamed templates 
  The usual stuff (docs / examples / improved code etc etc) 
  All threading issues are now sorted
      out, object life spans etc are all taken care of by the libraries / templates.
  Library now handles all cleaning
      up automatically (no risk of memory leaking if you forget to kill an object,
      or the user closes an object which your app opened). 
  Disabled SpellCheck and Reporting
      examples, just focusing on Mail Merge and the library, will add more features
      for the next release. 
    
    
    
    Version 1.0 beta 2 : ( Released 3 Dec 2002 )
  csoVersionInfo function changed to csoVersion. 
  More functionality added. 
  New example called "Demo Legacy". 
  Improved documentation. 
  General work on the office classes, numerous methods. 
  Major reworking of the Add_MSWord_Object
      template, and the Word_Automation example in the demo applications.
	
	Version 1.0 beta 1 : ( Released 22 Nov 2002 ) ( First release ) 
    
    
    Version 1.0 alpha : ( Released 13 Sep 2002 - 29 Oct 2002 )
		
  ( Thanks to everyone who participated as Alpha Testers )