สอบถามคำสั่งปิดโปรแกรมภายนอกที่เปิดอยู่ครับ


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

21 ก.ย. 65 , 17:15:26
อ่าน 99 ครั้ง

arampong

เรียนอาจารย์และสมาชิกทุกท่านครับ
     
     ผมอยากได้ Code ที่สั่งปิดโปรแกรม PowerPoint ที่เปิดอยู่ครับ
คือผมไอ้ Code ที่เปิดโปรแกรม PowerPoint คือ


Function OpenPPT(sFile As String, Optional bRunAsSlideShow As Boolean)
Dim oPPT As Object
On Error Resume Next
Set oPPT = GetObject(, "PowerPoint.Application")
If err.Number <> 0 Then
err.Clear
Set oPPT = CreateObject("PowerPoint.Application")
End If
On Error GoTo Error_Handler
oPPT.Visible = True
oPPT.Presentations.Open (sFile)
If bRunAsSlideShow Then oPPT.ActivePresentation.SlideShowSettings.Run
Error_Handler_Exit:
On Error Resume Next
Set oPPT = Nothing
Exit Function
Error_Handler:
MsgBox "The following error has occured." & vbCrLf & vbCrLf & _
"Error Number: " & err.Number & vbCrLf & _
"Error Source: OpenPPT" & vbCrLf & _
"Error Description: " & err.Description, _
vbCritical, "An Error has Occured!"
Resume Error_Handler_Exit
End Function


 '***************************************************************
 ' ที่ปุ่มคำสั่ง

Private Sub Command13_Click()
        Call OpenPPT("D:\Program\file1.ppsx", True)
End Sub


แล้วถ้าจะสั่งให้ปิดละครับ ต้องเขียนยังไงครับ
ขอบคุณครับ

 

26 ก.ย. 65 , 16:48:57
ตอบกลับ #1

arampong

เรียนอาจารย์
ผมได้ดัดแปลงวิธีใหม่ แล้วครับ
โดยทำ Point ให้เป็น VDO
แล้วให้ VDO เล่นที่ Form แล้ว
สั่งให้ปิด Form ครับมันง่ายกว่าเยอะเลยครับ

ได้แล้วครับ
ขอบคุณที่เข้ามาดูคำถามครับ

 

26 ก.ย. 65 , 16:57:31
ตอบกลับ #2

UnKnown

จัดไปตามนั้นครับ :yuush:
เพราะการที่จะให้โปรแกรมหนึ่งไปสั่งปิดโปรแกรมอื่นนั้นโดยปรกติก็ไม่สามารถที่จะทำได้ครับ(ยกเว้นสั่งปิดเครื่อง :XD:)
:ninja:     ลองคิด,ลองทำแนวคนไม่เก่งแอคเซส
หมายเหตุ เพื่อความปลอดภัยโปรดสำรองข้อมูลใว้ก่อนการแก้ไข
 

27 ก.ย. 65 , 22:46:55
ตอบกลับ #3

nonc31

Dim oServ As Object
Dim cProc As Variant
Dim oProc As Object

Set oServ = GetObject("winmgmts:")
Set cProc = oServ.ExecQuery("Select * from Win32_Process")

For Each oProc In cProc

    'Rename EXCEL.EXE in the line below with the process that you need to Terminate.
    'NOTE: It is 'case sensitive

    If oProc.Name = "EXCEL.EXE" Then
      MsgBox "KILL"   ' used to display a message for testing pur
      oProc.Terminate  'kill exe
    End If
Next

 

28 ก.ย. 65 , 15:43:08
ตอบกลับ #4

arampong

ขอบคุณครับ nonc31 ครับ
เดี๋ยวผมเอา Code ไปทดลองดูครับ
เพราะว่าพึ่งเปลี่ยนการเขียนตามที่แจ้งไปครับ แต่ก็น่าสนใจเรื่อง
ตัว Code ที่ให้มาครับ เพราะหากเขียนบน Form ก็จะต้อง
เขียน Code ที่ Form เพื่อให้โปรแกรมทำงานอีก
แต่หากบังคับโปรแกรมที่ปิดโดยตรงเลยน่าจะประหยัดเวลากว่าครับ
โดยไม่ต้องเขียนเปิดที่ Form สั่ง  เปิดสั่งปิดตรงๆเลย ดีครับ
ขอบคุณทั้ง 2 ท่านครับ UnKnown และ nonc31

 


บอร์ดเรียนรู้ Access สำหรับคนไทย