我根据我编写的 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
知道如何解决这个问题吗?
问候,