• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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.
 
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
 
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
 
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
 
Ü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?
 
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.
 
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?
 
4 nolu mesajdaki koda yazıcı adı ekledim yazıcı adı doğru yazılmalı boşluklarda ona göre olmalı
 
Geri
Üst