Перепешите метод класса ComOfficeDocument_RU.visible() следующим образом
X++:
// Show / hide application
public void visible(boolean _bVisible = true)
{
ComVariant comVariant;
COMDispFunction funcDisp;
;
if (!m_comApplication)
throw error(StrFmt("@DIS100406", this.GetApplicationName()));
this.activate(_bVisible); // Activate application, if necessary
comVariant = ComVariant::createFromBoolean(_bVisible);
// RTG, 05.08.2010, МВБ -->
// По непонятным причинам в Excel 2007 следующая команда ИНОГДА приводит к ошибке
// Метод был вызван с неверным числом параметров.
// Чтобы ее обойти необходимо сделать присвоение свойству через COMDispFunction
// m_comApplication.Visible(comVariant);
funcDisp = new COMDispFunction(m_comApplication, "Visible", COMDispContext::PROPERTYPUT);
funcDisp.call(comVariant);
funcDisp.finalize();
// RTG, 05.08.2010, МВБ <--
}
После этого сделайте инкрементную компиляцию класса ComOfficeDocument_RU