Nieokreślony błąd podczas wywoływania Word CentimetersToPoints za pośrednictwem OLE

Poniższy kod nie powiedzie się z błędem „nieokreślonym” OLE 800040005 wCentimetersToPoint wywołanie w Delphi (XE), podobna wersja VBS lub VBA przechodzi

var w : OleVariant;

w := CreateOleObject('Word.Application');
w.Visible := true;
Writeln(w.CentimetersToPoints(2.0));

FWIW daje bibliotekę typów

/ [id(0x00000173), helpcontext(0x09700173)]
// single CentimetersToPoints([in] single Centimeters);

Domyślnie Delphi przekazuje wartości zmienne tylko jako Double, więc próbowałem dzwonićIDispatch.Invoke bezpośrednio i przekazując argument jakoVT_R4, ale bez lepszych wyników.

edytuj: wersja VB, która działa (zapisz na .vbs)

set w = CreateObject("Word.Application")
w.Visible = true
msgbox w.CentimetersToPoints(2.0)

Jakieś inne sugestie co może pójść źle?

questionAnswers(1)

yourAnswerToTheQuestion