VBA中API函数调用问题

Private Declare PtrSafe Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As Any) As Long
Private Declare PtrSafe Function EnumJobs Lib "winspool.drv" Alias "EnumJobsA" (ByVal hPrinter As Long, ByVal FirstJob As Long, ByVal NoJobs As Long, ByVal Level As Long, pJob As Any, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
Private Declare PtrSafe Function addjob Lib "winspool.drv" Alias "AddJobA" (ByVal hPrinter As Long, ByVal Level As Long, pData As dy, ByVal cdBuf As Long, pcbNeeded As Long) As Long
Private Declare PtrSafe Function tjjob Lib "winspool.drv" Alias "ScheduleJob" (ByVal hPrinter As Long, ByVal JobId As Long) As Long
Private Type dy
 path As String
 id As Long
End Type
Sub test()
Dim r As dy
OpenPrinter "Fujitsu DPK890T", hPrinter, ByVal 0&
      Debug.Print "句柄为:" & hPrinter
       tr = "E:\123.txt"
       r.path = tr
       r.id = 1
       shuchu = addjob(hPrinter, 1, r, 10, 5)
       Debug.Print shuchu
       tjjob hPrinter, r.id
End Sub

您好,打扰了,老师!上述是是调用打印机的API函数过程,其中"Fujitsu DPK890T",为打印机名称,经过运行,句柄hPrinter是不为0,存在的,但为什么返回分shuchu值为0,显示调用不成功,这是哪里出现了问题,还望老师指点?该怎么调用才能在打印机后台显示出添加后的打印文件?

参考一下这个资料看看:https://zhidao.baidu.com/question/165719171.html

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y