AccessTr.neT
Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Visual Basic 6 (https://accesstr.net/forum-visual-basic-6.html)
+--- Forum: Visual Basic 6 Cevaplanmış Soruları (https://accesstr.net/forum-visual-basic-6-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme (/konu-shellexecute-ile-haricen-dosyaya-yazdir-komutu-gonderme.html)



Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme - Uğur ŞİRİN - 15/06/2017

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..


Cvp: Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme - Uğur ŞİRİN - 15/06/2017

(15/06/2017, 16:59)Uğur ŞİRİN yazdı: 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



Cvp: Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme - Uğur ŞİRİN - 15/06/2017

(15/06/2017, 17:01)Uğur ŞİRİN yazdı:
(15/06/2017, 16:59)Uğur ŞİRİN yazdı: 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.


Cvp: Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme - Uğur ŞİRİN - 15/06/2017

'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'.


Cvp: Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme - Uğur ŞİRİN - 15/06/2017

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


Cvp: Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme - Uğur ŞİRİN - 15/06/2017

Ç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