20個のWord文書を個別に印刷する必要があります。それぞれを開いてクリックしたくない 印刷する 。
何とかして一度に全部印刷できますか。
20個のWord文書を個別に印刷する必要があります。それぞれを開いてクリックしたくない 印刷する 。
何とかして一度に全部印刷できますか。
回答:
Windowsでは、複数のファイルを右クリックして印刷を選択すると、選択したすべてのファイルが印刷されます。
ただし、私のテストでは、一度に最大15個のドキュメントでしか機能しません(誤ったフォルダを印刷することで、偶発的な大災害を防ぐことができると思います)。
私はこれが単なる一回の必要以上のものであると私は考えている(そうでなければあなたは複数の文書を選択し、右クリックしそして印刷を選ぶためにWindows UIを使うことができる)。
マクロは受け入れられますか?これがマクロからWord文書を開いて印刷するために必要な基本コードです。
Sub PrintDocMacro()
Dim objWord As Object
Set objWord = CreateObject("Word.application") 'Start app
objWord.Documents.Open FileName:="c:\Temp\test.docx" 'Open doc
objWord.Visible = True
objWord.Application.PrintOut 'Print doc
objWord.ActiveDocument.Close savechanges:=True 'close & save doc
objWord.Application.Quit 'Close app
Set objWord = Nothing
End Sub
あなたが望むすべてのドキュメントを印刷するためのループを書く必要があります。印刷したいドキュメントが特定のフォルダ内のすべてのドキュメントである場合は、それも可能です。マイクロソフトは コード例 ディレクトリを読むため。
何らかの理由でこれらをスケジュールに従って印刷したい場合は、マクロを含むファイルをAutoOpenで実行し、完了しても閉じるようにして、そのマクロが有効になっているファイルをタスクスケジューラで開くようにスケジュールできます。
フォルダからすべての文書(通常は最大30〜32文書)を一度に印刷し、次にそれらをすべて選択してからRキーを押しながら印刷を選択します。これにより、プリンタの現在の設定と各ファイルの現在の設定がデフォルトプリンタに送信されます。これは、MS Word 2003で、Windows XP Professionalを使用することで可能になりました。今、私たちはWindows 7に切り替えています、そして、私は新しい方法を考え出す必要があります。 「R-クリックメニューでは使用できません。これで、印刷をクリックして他のことをするためにコンピュータを離れることはできません。すべて印刷されるまで待ってからもう一度実行する必要があります。また、Windows XPとMSW 2003がドキュメントを開いて印刷に送信する効率は、Windows 7よりはるかに優れています(ただし、私はMAC Parallels Programから7を実行していました)。
私はまた、私が複数のファイルを印刷に送る前に、空白のWordウィンドウを開いてデスクトップ上の最小の最小長方形(ステータスバーに最小化されていない)にサイズ変更した場合各ファイルが増えました。
これは、あなたがフォルダを指定することを可能にするマクロであり、それはサブフォルダを含むこのフォルダ内のすべての単語ファイルを印刷します。
Public optionCancel
Sub Print_word_files()
Dim path
Dim reminder As Integer
Dim oExtension As String
Dim Fso, oFolder, oSubfolder, oFile, queue As Collection
On Error Resume Next
path = " " //######################put files path here (ex: c:\users\myFiles) ################
If optionCancel = "yes" Then
optionCancel = "No"
Exit Sub
End If
reminder = MsgBox("Are you sure you want to print these files?", 4, "WARNING !!")
If reminder = 6 Then 'If Yes is clicked
Set Fso = CreateObject("Scripting.FileSystemObject")
Set queue = New Collection
queue.Add Fso.GetFolder(path) 'The path
Do While queue.Count > 0
Set oFolder = queue(1)
queue.Remove 1 'dequeue
'...insert any <<folder>> processing code here...
For Each oSubfolder In oFolder.subfolders
queue.Add oSubfolder 'enqueue
Next oSubfolder
For Each oFile In oFolder.Files
oExtension = Right(oFile, Len(oFile) - InStrRev(oFile, ".", -1)) 'gets the file extension
If oExtension = "docx" Or oExtension = "DOCX" Or oExtension = "doc" Or oExtension = "DOC" Or oExtension = "docm" Or oExtension = "DOCM" Or oExtension = "rtf" Or oExtension = "RTF" Then
Documents.Open FileName:=(oFile)
'-------------------The required starts here
ActiveDocument.PrintOut 'Prints document
ActiveDocument.Saved = True 'to prevent asking to save
ActiveDocument.Close 'Closes document
'-------------------The required ends here
End If
Next oFile
Loop
Else
MsgBox ("Operation cancelled!!")
End If
End Sub
私はこれが古い質問であることを理解していますが、私がここで使う答えを見ませんでした。
Windowsエクスプローラシェルから右クリックオプションを使用して複数の文書を印刷できます。通常これには15ドキュメントの制限があります。しかしながら、 その制限はレジストリで変更できます 。これはあなたの必要な制限に変更する値です:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer
Name : MultipleInvokePromptMinimum
Type : DWORD
Default : 15 (decimal)
うまくいけば、誰かがマクロを使う手間が省けます。