gro*_*rom 6 powershell ms-word
我当前的PowerShell脚本:
$document = "C:\\test.doc"
$word = new-object -comobject word.application
$word.Visible = $false
$word.DisplayAlerts = "wdAlertsNone"
$word.AutomationSecurity = "msoAutomationSecurityForceDisable"
$doc = $word.Documents.Open($document)
$word.ActivePrinter = "\\http://ptr-server:631\pdf-printer"
$background = $false
$doc.PrintOut([ref]$background)
$doc.close([ref]$false)
$word.quit()
但它会生成一个警告框.此项目中的宏被禁用.请参阅主机应用程序的联机帮助或文档以确定如何启用宏.
如何在不运行AutoOpen宏或显示任何类型的对话框提示的情况下打开文档?
环境细节:
事实证明,这在 VB.NET 中比在 C# 中容易得多(我一直无法弄清楚)。但您所需要做的就是创建一个具有单个例程的控制台应用程序。以下是说明:
Imports word = Microsoft.Office.Interop.Word
Module Module1
    Sub Main()
        Dim args() As String = Environment.GetCommandLineArgs
        Dim path = args(1)
        Dim printer = args(2)
        Dim wordApp As word.Application = New word.Application
        wordApp.WordBasic.DisableAutoMacros(1)
        wordApp.Visible = False
        Dim doc As word.Document = wordApp.Documents.Open(path)
        wordApp.ActivePrinter = printer
        Dim background As Object = False
        doc.PrintOut(background)
        doc.Close(False)
        wordApp.WordBasic.DisableAutoMacros(0)
        wordApp.Quit()
    End Sub
End Module
Module1并插入上面的代码。$wordprinterpath。$doc和$printer。        $wordprinterpath = "C:\\path\\wordprinter.exe"
        $doc ="""C:\\Users\\me\\Documents\\您的 doc.doc"""
        $printer = "\\http://ptr-server:631\pdf-printer"
        调用表达式“$wordprinterpath $doc $printer”| 空值
你应该很高兴去追求这个。我还没有测试它的打印部分,所以这可能需要一些工作,但是禁用自动宏并打开文档是可行的。
| 归档时间: | 
 | 
| 查看次数: | 9445 次 | 
| 最近记录: |