Klasördeki Word dosyalarını command buton ile toplu yazıcıdan çıktı almak

Katılım
14 Ocak 2018
Mesajlar
4
Excel Vers. ve Dili
Excel 2013
VB
Merhaba arkadaşlar,

Command Butonuna bastığımda yolu C:\Users\XXX\Desktop\HESAP olan klasördeki bütün doc uzantılı ne varsa toplu olarak yazıcıdan çıktı alsın istiyorum.

Örneğin HESAP isimli masaüstünde bulunan klasörün içinde 3 adet Word dosyası bulunsun.
a.doc
b.doc
c.doc gibi

command butonuna tıkladığımda bu üç Word dosyasını da o an hangi printer aktifse ondan çıktı alsın istiyorum. Listboxda görüntülemesine de gerek yok. Basınca direk yazdırsın istiyorum.

Yardımcı olabilirmisiniz.

NOT: Forumda masaüstündeki klasörden çıktı alma konusuna rastlamadığım için yeni konu açtım.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
referanslar
Kod:
[COLOR="Red"]Microsoft Word 12.0 Object Library[/COLOR]
Kod:
Sub wordyazdır()

Yol = [COLOR="red"]"C:\Users\XXX\Desktop\HESAP"[/COLOR]

Dim fL As Object, f As Object
Set fL = CreateObject("Scripting.FileSystemObject")
For Each dosya In fL.getfolder(Yol).Files
Uzanti = LCase(fL.GetExtensionName(dosya.Name))
dosya_adi = fL.GetBaseName(dosya)
If Uzanti = "doc" Or Uzanti = "docx" Then
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Documents.Open (dosya)
wrdApp.Visible = True

wrdApp.PrintOut Filename:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0

wrdApp.Quit False
Set wrdApp = Nothing

End If
atla:

Next


Set fL = Nothing
End Sub
 
Katılım
14 Ocak 2018
Mesajlar
4
Excel Vers. ve Dili
Excel 2013
VB
Entegrasyon sorunu

Halit3 teşekkür ederim verdiğiniz bilgi için, yalnız verdiğiniz kodları kendi dosyama entegre edemedim, makro konusunda acemiyim, nasıl entegre edeceğim konusunda da bilgi verebilir misiniz.

CommandButton1 e basınca çalışsın istiyorum. Listelemeyi yaptım fakat belirttiğiniz kodları nasıl entegre etmem gerektiğini anlayamadım.

Private Sub CommandButton1_Click()
End Sub

Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub


Private Sub UserForm_Initialize()
Dim fileList() As String
Dim fPath As String
Dim FName As String
Dim I As Integer

fPath = "C:\Users\XXX\Desktop\HESAP\*.docx"
FName = Dir(fPath)

While FName <> ""

I = I + 1
ReDim Preserve fileList(1 To I)
fileList(I) = FName

FName = Dir()
Wend
If I = 0 Then

MsgBox " Dosya bulunamadı "

Exit Sub

End If

For I = 1 To UBound(fileList)
Me.ListBox1.AddItem fileList(I)
Next

End Sub
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
kOD

Kod:
Private Sub CommandButton1_Click()

Yol =[COLOR="Red"] "C:\Users\XXX\Desktop\HESAP"[/COLOR]

Dim fL As Object, f As Object
Set fL = CreateObject("Scripting.FileSystemObject")
For Each dosya In fL.getfolder(Yol).Files
Uzanti = LCase(fL.GetExtensionName(dosya.Name))
dosya_adi = fL.GetBaseName(dosya)
If Uzanti = "doc" Or Uzanti = "docx" Then
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Documents.Open (dosya)
wrdApp.Visible = True

[COLOR="Blue"]Application.ActivePrinter =[/COLOR] "[COLOR="Red"]Ne01: üzerindeki OneNote 2007'ye Gönder [/COLOR]"

wrdApp.PrintOut Filename:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0

wrdApp.Quit False
Set wrdApp = Nothing
End If
atla:

Next
End Sub
 
Katılım
14 Ocak 2018
Mesajlar
4
Excel Vers. ve Dili
Excel 2013
VB
Üstat Dim wrdApp As Word.Application satırında hata veriyor ve Compile error User-defined type not defined uyarısı vermektedir.

Sadece butonun üzerine çift tıklayıp açılan kod sayfasına yapıştırıyorum. BUndan hariç yapmam gereken bir şey var mıdır?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Mesajlarıma çok geç cevap veriyorsunuz ben konuyu unutacağım neredeyse
2 nolu mesajda da belirttim referansları eklememişsiniz kırmızı bölümü eklemeniz gerekiyor.
 
Katılım
14 Ocak 2018
Mesajlar
4
Excel Vers. ve Dili
Excel 2013
VB
Halit3 kusura bakmayın lütfen, yoğun çalıştığımdan ve yeni yeni öğrenmeye çalıştığımdan, vakit ayırabildiğim ölçüde giriş yapabiliyorum. Sizi yorduysak kusuruma bakmayın.

Tools seçeneğinden Microsoft Word 16.0 Object Library seçince kod çalışmaya başladı fakat yazdırma Word dosyalarını yazıcıya gönderiyor, fakat çıktı alamıyorum. Bulunduğum yerde birden çok yazıcı mevcut. Kodlar arasına bir yazıcı belirtmemiz gerekir mi? Sorun buradan mı kaynaklanıyor?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
4 nolu mesajdaki koda yazıcı adı ekledim yazıcı adı doğru yazılmalı boşluklarda ona göre olmalı
 
Üst