|
![]() |
#1 |
Участник
|
По сообщению об ошибке видно, что нельзя сделать модификацию. Установить значение свойства. Читать можно, а менять нельзя.
Значит, сам файл, вероятно, открыт в режиме "только чтение". В него вообще, хоть что-нибудь программно записывается? Кроме того, при передаче параметров, отличных от типа Integer, желательно "оборачивать" их в ComVariant. В данном случае, примерно так: X++: COMVariant comVariant;
;
...
ft = ...
comVariant = new COMVariant(COMVariantInOut::IN, COMVariantType::VT_BSTR);
comVariant.bStr(ft);
pageSetupOb.RightFooter(comVariant); |
|
![]() |
#2 |
Участник
|
А вот почему эту модификацию нельзя сделать? читать и менять файл можно...
В файл программно записываются все данные, в том числе и имя юзера в колонтитуле. Думаю, есть другая причина, почему один и тотже код отрабатывают по разному на разных серверах. И причина скорее системная....ведь на первом сервере все работает как надо без ошибок. |
|
![]() |
#3 |
Участник
|
Помнится у нас с тобой что-то подобное было. Какие-то сложности с доступом Так тогда и не поняли в чем было дело. Верни все обратно может будет работать
|
|
![]() |
#4 |
Участник
|
Для тех кому интересно. Проблему решили. Причина была в том, что на 1 сервер был установлен MS Office без сервис паков и на нем все хорошо отрабатывало, а на втором сервере стоял еще и SP и результат не получался. Соответственно переустановили MS Office без SP и все заработало. Особо хочу отметить тот факт, что по умолчанию с MS Office устанавливается принтер Microsoft Office Document Image Writer. Так вот, формирование документа происходит задействуя этот принтер, без него такая же ошибка как в первом посте. Но и как оказалось, играла роль именно версия принтера 11.03.1897.00 - это рабочая. Т.к. версия принтера не рабочая была 11.03.8166.02. Вот такая хрень с MS Office. Да и еще по поводу оборачивания в ComVariant. После того, как первоначальный код заработал, решил еще обернуть в ComVariant по совету Владимира Максимова, но не тут было....
Опять начал ругаться как в первом посте : "Метод 'RightFooter' в COM-обекте класса 'PageSetup' возвратил код ошибки 0х800А03ЕС (<unknown>), который означает:Нельзя установить свойство RightFooter класса PageSetup." Вернул как было без ComVariant и все ок.....так что при работе аксапты с MS Office могут возникнуть различные казусы, не зависящие от аксапты. |
|
![]() |
#5 |
Участник
|
Поздравляю
|
|
![]() |
#6 |
Участник
|
Спасибо
![]() |
|