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()
Run Code Online (Sandbox Code Playgroud)
但它会生成一个警告框.此项目中的宏被禁用.请参阅主机应用程序的联机帮助或文档以确定如何启用宏.
如何在不运行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
Run Code Online (Sandbox Code Playgroud)
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 次 |
| 最近记录: |