是否可以使用CreateObject使用vba打印.tif文档?如果没有,什么?

是否可以使用CreateObject使用vba打印.tif文档?如果没有,什么?,vba,tiff,acrobat,createobject,Vba,Tiff,Acrobat,Createobject,下面的vba例程可以很好地打印word文档 If sHlink <> "" Then Set OfficeObject = CreateObject("Word.Application") OfficeObject.Documents.Open sHlink OfficeObject.PrintOut Background:=False OfficeObject.Q

下面的vba例程可以很好地打印word文档

        If sHlink <> "" Then
             Set OfficeObject = CreateObject("Word.Application")
             OfficeObject.Documents.Open sHlink
             OfficeObject.PrintOut Background:=False
             OfficeObject.Quit
             Set OfficeObject = Nothing
        End If
如果是sHlink“”,则
Set-OfficeObject=CreateObject(“Word.Application”)
OfficeObject.Documents.Open sHlink
OfficeObject.PrintOut后台:=False
OfficeObject。退出
Set-OfficeObject=无
如果结束
但我需要打印的是.TIF文档。默认情况下,它们使用Microsoft照片查看器打开。是否有类似的东西会调用MS Photo Viewer,如果没有,则称为Acrobat?也许有了Acrobat,我可以使用某种命令行吗?
谢谢

我找到了这个shell命令,它使用以前随Office一起安装的照片编辑器进行打印:

Shell """C:\Program Files\Common Files\Microsoft Shared\PhotoEd\photoed.exe"" -p h:\misc\MyPicture.tif"

我认为它可以使用当前的图片管理器进行打印-我打赌它使用相同的
-p
开关。出于某种原因,这似乎被命名为“OIS.EXE”。

它们是单页TIF文件还是包含多页?如果是单页,则插入TIF完整幻灯片大小,然后打印,这将相当简单,类似于自动PowerPoint;(或者可以通过win32 API完成)Andy G,我有一个类似于VBA:dblRetVal=Shell(sDOSCMD,vbNormalFocus)的东西,其中sDOSCMD是“C:\Program Files(x86)\Microsoft Office\Office14\OIS.EXE”-p'G:\CITIZEN\MASTER\1)SETUP\DEPT_28\Process Drawings\EST1107RevsmethodPoint.tif”,dblRetVal返回一个非零值(3712)。但是我没有从打印机得到打印,有什么建议吗?您应该首先从命令行获取要执行的语句。然后,我发布的示例代码表明,应用程序的路径需要用引号括起来(通过双引号),因为它包含空格。您可能需要对文档路径执行相同的操作,因为我不确定撇号是否能正确解析。谢谢。能够显示但不能打印。我将sDOSCMD设置为C:\Program Files(x86)\Microsoft Office\Office14\OIS.EXE“G:\CITIZEN\MASTER\EST.tif”以显示该命令行。请注意,命令行中没有引号,但文件名是。但是,-p不能是打印开关,因为将其放在以下位置之间:C:\Program Files(x86)\Microsoft Office\Office14\OIS.EXE-p“G:\CITIZEN\MASTER\EST.tif”或最后,如C:\Program Files(x86)\Microsoft Office\Office14\OIS.EXE“G:\CITIZEN\MASTER\EST.tif”-p这两个都没有导致打印。我的印象是图片管理器不支持命令行参数,Doh!我会进一步调查的。您是否安装了另一个可以打印.tiff的应用程序?我正在考虑使用.pdf和Acrobat reader。我们在这个过程的早期&我可以告诉工程师们,伙计们,你们必须将它们存储为.pdf文件