Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 14-01-2018, 01:02   #1
pashawolf
 
Giriş: 14/01/2018
Şehir: istanbul
Mesaj: 2
Excel Vers. ve Dili:
Excel 2013 VB
Varsayılan Klasördeki Word dosyalarını command buton ile toplu yazıcıdan çıktı almak

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.
pashawolf Çevrimdışı   Alıntı Yaparak Cevapla
Eski 14-01-2018, 06:55   #2
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,600
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

referanslar
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Microsoft Word 12.0 Object Library
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub wordyazdır()

Yol = "C:\Users\XXX\Desktop\HESAP"

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
__________________





Forum Kuralları
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 10:45   #3
pashawolf
 
Giriş: 14/01/2018
Şehir: istanbul
Mesaj: 2
Excel Vers. ve Dili:
Excel 2013 VB
Varsayılan 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
pashawolf Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 14:52   #4
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,600
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

kOD

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton1_Click()

Yol = "C:\Users\XXX\Desktop\HESAP"

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
End Sub
__________________





Forum Kuralları
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 02:43


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil ve Konuşma Terapisti- Çorlu Dil ve Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Havuz- Makina- Danışmazlar-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden