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 )