hey men,
good point!
for the future: i want create a release notes posting here and spend a link for every new release.
About NO 1.7.3
ExcelApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
OutlookApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
WordApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
PowerPointApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
AccessPointApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
(The COMAddin base class contains an own instance of CommonUtils. this.Utils)
The various utils features is depending on the application.
Common(inherites from Office utils) is:
Outlook and PowerPoint contains also ApplicationUtils to handle some well known bugs/disadvantages.
Why the dialog utils ???
DialogUtils allows you to show a message, pre-defined or own dialogs.
Sounds stupid of course... but you can suspend this if an application is currently hidden or in automation(may testing)
from DialogUtils.cs:
*Sebastian
good point!
for the future: i want create a release notes posting here and spend a link for every new release.
About NO 1.7.3
-
Improve/Fix Assembly load in NetOffice Core.
(old releases may cause issues if you have multiple -unshimmed- office addins in one application that using different NO versions) -
fix DAOApi.dll
(DAOApi is based on 2 components DAO360.dll and ACEDAO.dll, the old jet-engine and the new ace enginge.
In NO 1.7.2 - DAOApi cant handle ACEDAO.dll correctly because the ACEDAO library id was missing in DAOApi.dll) -
add MSFormsApi.dll
(The MsForms Api contains the embeded default VBA ui controls, like TextBox, Button, etc.
Now you can use/access these ones also in NetOffice with all support) -
improve/fix NetOffice.Outlook security
(Doesnt works as expected in NO 1.7.2 if a firewall dialog or something like that occurs) -
improve NetOffice Tools layer:
CustomUI("MyApplication.RibbonUI.xml")
use CustomUI("RibbonUI.xml", true) // true means detect and use root namespace automaticly
instead.-
add Utils to NO Tools layer:
ExcelApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
OutlookApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
WordApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
PowerPointApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
AccessPointApi.Tools.CommonUtils (inherites from OfficeApi.Tools.CommonUtils)
(The COMAddin base class contains an own instance of CommonUtils. this.Utils)
The various utils features is depending on the application.
Common(inherites from Office utils) is:
bool ApplicationIs2007OrHigher {get;}
bool AdminPermissions {get;}
bool IsAutomation {get;}
DialogUtils {get;} // show dialogs
ResourceUtils {get;} // access embeded resources
TrayUtils {get;} // use a tray icon for your addin(NO is handle the dispose)
ImageUtils {get;} // conversion to IPictureDisp incl. mask
ColorUtils {get;} // conversion from Drawing.Color to double vice versa
SystemInformations {get;} // various system informations
Excel, Word, Outlook, Word contains also FileUtils to build a document path with current extension very easy.Outlook and PowerPoint contains also ApplicationUtils to handle some well known bugs/disadvantages.
Why the dialog utils ???
DialogUtils allows you to show a message, pre-defined or own dialogs.
Sounds stupid of course... but you can suspend this if an application is currently hidden or in automation(may testing)
from DialogUtils.cs:
// Events
public DialogShowEventHandler DialogShow;
public DialogShownEventHandler DialogShown;
// Properties
public bool SuppressOnAutomation { get; set; }
public bool SuppressOnHide { get; set; }
public bool SupressGeneraly { get; set; }
Addin scenario: example to show a message box. // last argument is the default result if the dialog is not shown
var result = this.Utils.Dialog.ShowMessageBox("hello world", MessageBoxIcon.Information, DialogResult.None);
if(result == DialogResult.None)
Log("MessageBox suspended");
-
fix NetOffice Tools for MS Project
(NO 1.7.2 use regkey "MSProject" instead of "MS Project"
*Sebastian