Sn kübrashn;
Asagida ki kodu deneyin.
private Declare Function Calistir Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As String, ByVal lpszFile As String, _
ByVal lpszParams As String, ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long
Private Const SW_HIDE = 0
Private Const SW_SHOWNORMAL = 1
Private Const SW_PRINTNORMAL = 2
Public Function Kostur(DosyaAdi As String, Optional DosyaIslem As String = "print") As Boolean
Dim CalIslem As Long
CalIslem = Calistir(0&, DosyaIslem, DosyaAdi, vbNullString, vbNullString, IIf(DosyaIslem = "print", SW_HIDE, SW_PRINTNORMAL))
If CalIslem <= 32 Then
MsgBox CalIslem & "-->" & DosyaAdi
Kostur = False
MsgBox "Hatali " & DosyaIslem & " " & DosyaAdi & vbCrLf & vbCrLf & "Islem yapilamadi.", vbExclamation
Else
Kostur = True
End If
End Function
Private Sub Yaz_Click()
Dim evn As Object, klasor As Object, dosya As Object, yol, Tip As Variant, Msg, Yer
Msg = MsgBox("Yazdýrmak Ýstediðinizden Emin misiniz?", vbYesNo + vbQuestion, "Çýkýþ")
Yer = App.Path
Tip = Array("Application", "Bitmap image")
If Msg = vbYes Then
Set evn = CreateObject("shell.application")
yol = CreateObject("scripting.filesystemobject").getfolder(Yer)
Set klasor = evn.Namespace(yol)
Set dosya = klasor.Items()
For Each dosya In dosya
If Mid(dosya.Type, 1, 9) = "Microsoft" Then
Call Kostur(Yer & "\" & dosya.Name, "Print")
Me.Mesaj.Text = dosya
Me.Mesaj.Refresh
End If
Next
Set dosya = Nothing: Set klasor = Nothing
Set yol = Nothing: Set evn = Nothing
End
ElseIf Msg = vbNo Then
Exit Sub
End If
End Sub
Son Düzenleme: 23/04/2015, 03:55, Düzenleyen: KulAhmet.