Неуказанная ошибка при вызове Word CentimetersToPoints через OLE
Следующий код завершается с ошибкой OLE 800040005 «не указано» наCentimetersToPoint
вызов при выполнении в Delphi (XE), аналогичная версия VBS или VBA проходит
var w : OleVariant;
w := CreateOleObject('Word.Application');
w.Visible := true;
Writeln(w.CentimetersToPoints(2.0));
FWIW библиотека типов дает
/ [id(0x00000173), helpcontext(0x09700173)]
// single CentimetersToPoints([in] single Centimeters);
По умолчанию Delphi передает только плавающие значения как Double, поэтому я попытался вызватьIDispatch.Invoke
непосредственно и передавая аргумент какVT_R4
, но без лучших результатов.
редактировать: версия VB, которая работает (сохранить в .vbs)
set w = CreateObject("Word.Application")
w.Visible = true
msgbox w.CentimetersToPoints(2.0)
Любые другие предложения о том, что может пойти не так?