AccessTr.neT

Tam Versiyon: Shellexecute İle Haricen Dosyaya Yazdır Komutu Gönderme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
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..
(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
(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.
'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'.
Çözümü buldum. "me.hwnd" yerine "me.handle" kullandım ve düzeldi.
Ç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