0

ドキュメントファイルを印刷するために(VBスクリプトを使用して)バッチファイルを作成しようとしていますが、直面している問題は、プリンターがオフィスの共有プリンターであり、次のコードを実行すると、「Windows現在のプリンター設定に問題があるため、印刷できません。」これが私のコードです

Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("C:\Users\Iqbaltaj\Downloads\Test.docx")

objDoc.PrintOut()
objWord.Visible        = False
objWord.ScreenUpdating = False
objWord.ActiveDocument.PrintOut False
objWord.ActiveDocument.Close 0 
objWord.Quit
Set objWord = Nothing

共有プリンターの場所は「\\cap003\HP LaserJet P3005 PCL6」です。ドキュメントを印刷するには、どのコード行を追加すればよいか教えてください。ありがとう。

4

2 に答える 2

0

私が見つけたこのコード例が正しい場合、構文は次のようになります...

objWord.WordBasic.FilePrintSetup "HP LaserJet P3005 PCL6", , , 1

まあ、それがまったく役に立たない場合は、さらに試すことができるものがあります...

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections

strPrinterName = "HP LaserJet P3005 PCL6"
strPrinterPath = "\\cap003\" & strPrinterName
bIsMapped = False

For i = 0 to oPrinters.Count - 1 Step 2
    If strPrinterName = oPrinters.Item(i+1) Then
        bIsMapped = True
        Exit For
    End If
Next

WScript.Echo "Mapped: " & bIsMapped

If Not bIsMapped Then
    WshNetwork.AddWindowsPrinterConnection strPrinterPath
End If
于 2013-01-29T17:26:13.040 に答える
0

objWord.PrintOut()の代わりにやってみてくださいobjDoc.PrintOut()
プリンター設定を追加することもできます。これを試してください:

Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("C:\Users\Iqbaltaj\Downloads\Test.docx")

objWord.WordBasic.FilePrintSetup(Printer:="HP LaserJet P3005 PCL6", DoNotSetAsSysDefault:=1)
objWord.PrintOut()
...
objWord.Documents.Close()
objWord.Quit()

これは、「HP LaserJet P3005 PCL6」がこのプリンターの名前であると仮定しています (もちろん)。
インストールされているプリンターは、PrinterSettings.InstalledPrintersで確認できます。

于 2013-01-29T06:08:41.783 に答える