• DİKKAT

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

Kapalı dosyadan print alma

Katılım
17 Mart 2005
Mesajlar
32
Merhaba Arkadaşlar,
Forumda aradım ama bulamadım. Kapalı olan bir dosyadan print alma olanağımız varmı?

İyi Günler...
 
Print almadan kastınız nedir?
 
Merhaba,

örneğin c:\dosyalar\ klasöründe bulunan 1.xls 2.xls...30.xls dosyalarından ,döngüden faydalanarak , içeriklerini yazdırmak printerdan çıktısını almak istiyorum. umarım yeteri kadar açık olmuştur.
İlgini için teşekkür ederim.
 
Aşağıdaki kodu deneyin.

[vb:1:57e96393b9]Sub yazdir()
Application.ScreenUpdating = False
For Each dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\dosyalar").Files
Workbooks.Open Filename:="C:\dosyalar\" & dosya.Name
ActiveSheet.PrintOut
ActiveWorkbook.Close
Next
End Sub
[/vb:1:57e96393b9]
 
Aslında, sözkonusu dosyaları "hakikaten açmadan" da yazıcıya yollanıp, çıktı alınır da..... neyse.....

Konu sonuca bağlanmışken, ortalığı daha fazla karıştırmayayım. (Sonra.... orasında şu oldu, burasında şu ne olacak vb. şeklinde konu dallanıp, budaklanıp gider artık ... :mrgreen:....)
 
Merhaba,
Ortalık birden bulanır gibi oldu galiba :D
Bu durumu "gerçekten açmadan" nasıl yapacağız. ADO nesneleri bir çözüm olabilirmi?
 
Haluk' Alıntı:
Aslında, sözkonusu dosyaları "hakikaten açmadan" da yazıcıya yollanıp, çıktı alınır da..... neyse.....

Konu sonuca bağlanmışken, ortalığı daha fazla karıştırmayayım. (Sonra.... orasında şu oldu, burasında şu ne olacak vb. şeklinde konu dallanıp, budaklanıp gider artık ... :mrgreen:....)
Ben sizin belirttiğiniz gibi bir çözümden yanayım çünkü dosyalar çok büyük ve tek tek açmam zaman alıyor.
 
Merhaba;

Aslında bende hata olmuş. Ben kafamda birşeyler düşünmüş ama bir deneme yapmamıştım.

Benim düşündüğüm, aşağıdaki gibi bir kod idi. Ama, bunda da dosyayı Excel kendisi açıyor.

Kod:
 Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
                  ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                  ByVal hwnd As Long, ByVal lpOperation As String, _
                  ByVal lpFile As String, ByVal lpParameters As String, _
                  ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 Declare Function FindWindowA Lib "user32" ( _
                  ByVal lpClassName As String, _
                  ByVal lpWindowName As String) As Long
 Const strXLClass As String = "XLMAIN"
'
Sub Test()
    Dim MyFile As String
    Dim xlMain As Long
    MyFile = "C:\Data.xls"
    xlMain = FindWindowA(strXLClass, vbNullString)
    ShellExecute xlMain, "Print", MyFile, vbNullString, "C:\", 0
End Sub

Bu kod aslında, dosya ikonu üzerinde sağ tıklayınca ortaya çıkan "Print - Yazdır" komutunun VBA kodu ile simule edilmesidir.

Bence, yukarıda sayın Levent beyin önerdiği kod, sizin için gayet güzel gibi geliyor bana.
 
Sayın Levent Menteşoğlu çok teşekkürler, çok yararlı bir paylaşım.
 
Geri
Üst