0

我根据我编写的 vba 代码编写了一个 vbscript,其中一个对象的方法期望通过 ByRef 传递一些 Double。在 vba 中这工作得很好,而在 vbscript 中我有“Type Icnompatible”错误。

<package>
    <job id="Main">
       <reference object="CorelDraw.Application" version="16.0" />
        <script language="VBScript">
            Option Explicit
            Dim app
            Dim doc
            Dim pg
            Set app = GetObject(, "CorelDraw.Application.16")
            set doc = app.ActiveDocument
            Set pg = doc.pages.Item(1)


            Dim h0, w0
            'h0=0
            'w0=0 
            h0=cdbl(0) 'Trying to force Variant to Double
            w0=cdbl(0) 

            call pg.GetSize(w0, h0)

            Wscript.echo "h orig=" + CStr(h0) + ",w orig=" + CStr(w0) + " unit=" + CStr(doc.Unit)

        </script>
    </job>
</package>

我收到一个“ Type incompatible: 'GetSize'”错误。

工作vba代码是

Sub test()

    Dim doc As Document
    Dim pg As page
    Set doc = ActiveDocument

    Dim h0 As Double, w0 As Double

    Set pg = doc.Pages.Item(1)
    pg.GetSize w0, h0


    Debug.Print "h orig=" + CStr(h0) + ",w orig=" + CStr(w0) + " unit=" + CStr(doc.Unit)

End Sub

知道如何解决这个问题吗?

问候,

4

0 回答 0