Skip to main content

AccessTr.neT M.



Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme

Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme

Çözüldü #1
Merhaba, 

Shellexecute sınıfı ile haricen bir dosyayı (excel, ppt, bmp, jpg, pdf, doc vb.) yazdır komutu göndermek mümkün mü ?


Örnek olarak;

Uygulamada butonu tıklar tıklamaz c:\xxx.xxx dosyasına yazdır komutu gönderecek..

Cevapla
#2
(15/06/2017 16:59)Uğur ŞİRİN Adlı Kullanıcıdan Alıntı: Merhaba, 

Shellexecute sınıfı ile haricen bir dosyayı (excel, ppt, bmp, jpg, pdf, doc vb.) yazdır komutu göndermek mümkün mü ?


Örnek olarak;

Uygulamada butonu tıklar tıklamaz c:\xxx.xxx dosyasına yazdır komutu gönderecek..

Şunu buldum ama sizce işe yarar mı ? 


Const SW_SHOWNORMAL = 1
Option Explicit

Private 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

Private Sub Command4_Click()
Dim PrintIt As Long
'PrintIt = ShellExecute(Me.hwnd, "print", "C:\My Documents\MyDoc.Doc", "", "", -1)
PrintIt = ShellExecute(Me.hwnd, "print", "C:\My Documents\MyDoc.Doc", "", "", SW_SHOWNORMAL)
End Sub

Cevapla
...........
#3
(15/06/2017 17:01)Uğur ŞİRİN Adlı Kullanıcıdan Alıntı:
(15/06/2017 16:59)Uğur ŞİRİN Adlı Kullanıcıdan Alıntı: Merhaba, 

Shellexecute sınıfı ile haricen bir dosyayı (excel, ppt, bmp, jpg, pdf, doc vb.) yazdır komutu göndermek mümkün mü ?


Örnek olarak;

Uygulamada butonu tıklar tıklamaz c:\xxx.xxx dosyasına yazdır komutu gönderecek..

Şunu buldum ama sizce işe yarar mı ? 


Const SW_SHOWNORMAL = 1
Option Explicit

Private 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

Private Sub Command4_Click()
Dim PrintIt As Long
'PrintIt = ShellExecute(Me.hwnd, "print", "C:\My Documents\MyDoc.Doc", "", "", -1)
PrintIt = ShellExecute(Me.hwnd, "print", "C:\My Documents\MyDoc.Doc", "", "", SW_SHOWNORMAL)
End Sub

Uyguladığımda 

'Option' statements must precede any declerations or "Imports" statements.

'hwnd' is not a member of "WindowsApplication1.form1'.

hatalarını alıyorum.

Cevapla
#4
'Option' statements must precede any declerations or "Imports" statements.

Hatasını giderdim.


Ancak halen aşağıdaki hatayı alıyorum.

'hwnd' is not a member of "WindowsApplication1.form1'.

Cevapla
...........
#5
Çözümü buldum. "me.hwnd" yerine "me.handle" kullandım ve düzeldi.

Cevapla
#6
Son Düzenleme: 15/06/2017, 17:21, Düzenleyen: Uğur ŞİRİN.
Çalışan kodun son durumu: 

Option Explicit On
Public Class Form1
   Const SW_SHOWNORMAL = 1


   Private 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

   Private Sub Command4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Command4.Click
       Dim PrintIt As Long
       'PrintIt = ShellExecute(Me.hwnd, "print", "C:\My Documents\MyDoc.Doc", "", "", -1)
       PrintIt = ShellExecute(Me.Handle, "print", "D:\MyDoc.Doc", "", "", SW_SHOWNORMAL)
   End Sub

End Class

Cevapla
...........

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da