Imports System.IO
Imports System.Net
Imports System.Text
Imports Microsoft.VisualBasic.ApplicationServices
Imports Newtonsoft.Json
'需要從Nuget安裝套件 Newtonsoft.Json
Module SQL_LINE
Public 發送對象, LINE_權限代號, PA201, PA202, PA203, PA204, PA205, 通知變數X, 通知變數Y As String
'=======請依照不同公司修改=======
Public LINE_公司名稱 As String = "HS" : Public LINE_機器人代號 As String = "RB-0005"
'===========================
Public ConStringLINE As String
Public LINE_權限數量 As Integer = 61
Public linecc(61) As Boolean
Public LINE_需通知清單_dgv, LINE_通知內容清單_dgv As New DataTable
Public LINE_系統權限 As String = "CC200,CC201,CC202,CC203,CC204,CC205,CC206,CC207,CC208,CC209,CC210,CC211,CC212,CC213,CC214,CC215,CC216,CC217,
CC218,CC219,CC220,CC221,CC222,CC223,CC224,CC225,CC226,CC227,CC228,CC229,CC230,CC231,CC232,CC233,CC234,CC235,CC236,CC237,
CC238,CC239,CC240,CC241,CC242,CC243,CC244,CC245,CC246,CC247,CC248,CC249,CC250,CC251,CC252,CC253,CC254,CC255,CC256,CC257,
CC258,CC259,CC260"
Public LINE_登入權限 As String = "姓名, 帳號 AS 公司名稱,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message," & LINE_系統權限
Public LINE_登入權限_IN As String = "姓名, 帳號 ,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message," & LINE_系統權限
Public LINE_登入權限2 As String = "使用者權限管理表_1.姓名, 使用者權限管理表_1.帳號, 使用者權限管理表.token, 使用者權限管理表.通知語言, 使用者權限管理表.電話號碼1,
使用者權限管理表.電話號碼2, 使用者權限管理表.電話號碼3, 使用者權限管理表.Line, 使用者權限管理表.WhatsApp, 使用者權限管理表.Message," & LINE_系統權限
Friend Sub SQL_連線字串_測試_LINE_SQL()
ConStringLINE = "Data Source=mssql-147629-0.cloudclusters.net,12711;Initial Catalog=GCM-SCADA;Persist Security Info=True;User ID=b70340;Password=Lee0911274990;Max pool size = 200; Connection Timeout=0"
End Sub
Friend Sub ConnOpen_LINE_SQL()
SQL_連線字串_測試_LINE_SQL()
conn.Close() : If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConStringLINE : conn.Open() : End If
End Sub
'''
''' 使用代號之前,請先到LINE使用者管理去進行設定
''' 對象 請在LINE使用者管理中去複製字串出來。
'''
Public Sub LIN訊息通知X(代號 As String, 對象 As String, Optional ByVal 變數X As String = "", Optional ByVal 變數Y As String = "")
LINE_權限代號 = 代號 : 發送對象 = 對象 : 通知變數X = 變數X : 通知變數Y = 變數Y : LINE_通知模塊()
End Sub
'''
''' 使用代號之前,請先到LINE使用者管理去進行設定
''' 對象 請在LINE使用者管理中去複製字串出來。
'''
Public Sub LIN訊息通知_新(代號 As String, 對象 As String, Optional ByVal 變數X As String = "", Optional ByVal 變數Y As String = "")
LINE_權限代號 = 代號 : 發送對象 = 對象 : 通知變數X = 變數X : 通知變數Y = 變數Y : LINE_新通知模塊()
End Sub
'=====LINE_權限代號 = "CC207" : 發送對象 = "tltony1234" : 通知變數X = "王詩文" : 通知變數Y = "9/7號" : LINE_通知模塊()=====
Friend Sub SQL_LOG檔清除()
ConnOpen_LINE_SQL()
SQL1 = "ALTER DATABASE [GCM-SCADA] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC SHRINKFILE(N'GCM-SCADA_log', 1)
ALTER DATABASE [GCM-SCADA] SET RECOVERY FULL WITH NO_WAIT"
CmdSet_For_dr()
End Sub
Friend Sub SQL_系統使用者_清單()
ConnOpen()
SQL1 = "SELECT 姓名 FROM 使用者權限管理表 ORDER BY 姓名"
CmdSet_For_DGV()
End Sub
Friend Sub SQL_LINE_使用者管理表_清單載入()
ConnOpen_LINE_SQL()
SQL1 = "SELECT 姓名, UserID, CC200, CC201, CC202, CC203, CC204, CC205, CC206, CC207, CC208, CC209, CC210,
CC211, CC212, CC213, CC214, CC215, CC216, CC217, CC218, CC219, CC220, CC221, CC222, CC223, CC224, CC225,
CC226, CC227, CC228, CC229, CC230, CC231, CC232, CC233, CC234, CC235, CC236, CC237, CC238, CC239, CC240,
CC241, CC242, CC243, CC244, CC245, CC246, CC247, CC248, CC249, CC250, CC251, CC252, CC253, CC254, CC255,
CC256, CC257, CC258, CC259, CC260, 通知語言, Line, WhatsApp, Message, 電話號碼1, 電話號碼2, 電話號碼3
FROM LINE_使用者權限管理表 WHERE 帳號 LIKE N'" & LINE_公司名稱 & "' ORDER BY 姓名 "
CmdSet_For_DGV()
End Sub
Friend Sub SQL_LINE權限一覽_dgv_清單()
ConnOpen_LINE_SQL()
SQL1 = "SELECT 權限代號, 權限名稱 FROM LINE_權限一覽表 WHERE (權限名稱 LIKE N'WS%') OR (權限名稱 LIKE N'GCM%') ORDER BY 權限代號"
CmdSet_For_DGV()
End Sub
Friend Sub SQL_LINE_未綁定LINEid清單載入()
ConnOpen_LINE_SQL()
SQL1 = "SELECT DISTINCT LINE_使用者資料表.UserID
FROM LINE_使用者資料表 LEFT OUTER JOIN
LINE_群組控制表 ON LINE_使用者資料表.GroupID = LINE_群組控制表.GroupID LEFT OUTER JOIN
LINE_使用者權限管理表 ON LINE_使用者資料表.UserID = LINE_使用者權限管理表.UserID
WHERE (LINE_使用者資料表.UserID IS NOT NULL) AND (LINE_使用者權限管理表.姓名 IS NULL OR
LINE_使用者權限管理表.姓名 LIKE N'') AND (LINE_群組控制表.RobotID NOT LIKE N'RB-0001' OR
LINE_群組控制表.RobotID IS NULL)
ORDER BY LINE_使用者資料表.UserID"
CmdSet_For_DGV()
End Sub
Friend Sub SQL_LINE_個人對話紀錄(user_id As String)
ConnOpen_LINE_SQL()
SQL1 = "SELECT createtime AS 日期, text AS 內容 FROM LINE_個人紀錄表 WHERE (UserID LIKE N'" & user_id & "' ) ORDER BY createtime DESC"
CmdSet_For_DGV()
End Sub
Friend Sub SQL_LINE_群組對話紀錄(user_id As String)
ConnOpen_LINE_SQL()
SQL1 = "SELECT createtime AS 日期, text AS 內容
FROM LINE_WS群組紀錄表
WHERE (UserID LIKE N'" & user_id & "')
UNION ALL
SELECT createtime AS 日期, text AS 內容
FROM LINE_MCD群組紀錄表
WHERE (UserID LIKE N'" & user_id & "')
ORDER BY createtime DESC"
CmdSet_For_DGV()
End Sub
Friend Sub SQL_確認是否有重複名稱(姓名 As String, UserID As String)
ConnOpen_LINE_SQL()
SQL1 = "SELECT 姓名, 帳號, token, CC200, CC201, CC202, CC203, CC204, CC205, CC206, CC207, CC208, CC209, CC210,
CC211, CC212, CC213, CC214, CC215, CC216, CC217, CC218, CC219, CC220, CC221, CC222, CC223, CC224, CC225,
CC226, CC227, CC228, CC229, CC230, CC231, CC232, CC233, CC234, CC235, CC236, CC237, CC238, CC239, CC240,
CC241, CC242, CC243, CC244, CC245, CC246, CC247, CC248, CC249, CC250, CC251, CC252, CC253, CC254, CC255,
CC256, CC257, CC258, CC259, CC260, 通知語言, Line, WhatsApp, Message, 電話號碼1, 電話號碼2, 電話號碼3,
UserID FROM LINE_使用者權限管理表
WHERE (姓名 LIKE N'" & 姓名 & "' OR UserID LIKE N'" & UserID & "')"
CmdSet_For_dr()
End Sub
Friend Sub SQL_LINE_新增使用者資料(姓名 As String, 通知語言 As String, Line As Boolean, WhatsApp As Boolean, Message As Boolean, 電話號碼1 As String, 電話號碼2 As String, 電話號碼3 As String, UserID As String)
ConnOpen_LINE_SQL()
SQL1 = "INSERT INTO LINE_使用者權限管理表 (姓名, 帳號, token, CC200, CC201, CC202, CC203, CC204, CC205, CC206, CC207, CC208, CC209, CC210,
CC211, CC212, CC213, CC214, CC215, CC216, CC217, CC218, CC219, CC220, CC221, CC222, CC223, CC224, CC225,
CC226, CC227, CC228, CC229, CC230, CC231, CC232, CC233, CC234, CC235, CC236, CC237, CC238, CC239, CC240,
CC241, CC242, CC243, CC244, CC245, CC246, CC247, CC248, CC249, CC250, CC251, CC252, CC253, CC254, CC255,
CC256, CC257, CC258, CC259, CC260, 通知語言, Line, WhatsApp, Message, 電話號碼1, 電話號碼2, 電話號碼3,
UserID)
VALUES (N'" & 姓名 & "', N'WS', N'','" & linecc(0) & "','" & linecc(1) & "','" & linecc(2) & "','" & linecc(3) & "','" & linecc(4) & "','" & linecc(5) & "','" & linecc(6) & "','" & linecc(7) & "','" & linecc(8) &
"','" & linecc(9) & "','" & linecc(10) & "','" & linecc(11) & "','" & linecc(12) & "','" & linecc(13) & "','" & linecc(14) & "','" & linecc(15) & "','" & linecc(16) &
"','" & linecc(17) & "','" & linecc(18) & "','" & linecc(19) & "','" & linecc(20) & "','" & linecc(21) & "','" & linecc(22) & "','" & linecc(23) & "','" & linecc(24) &
"','" & linecc(25) & "','" & linecc(26) & "','" & linecc(27) & "','" & linecc(28) & "','" & linecc(29) & "','" & linecc(30) & "','" & linecc(31) & "','" & linecc(32) &
"','" & linecc(33) & "','" & linecc(34) & "','" & linecc(35) & "','" & linecc(36) & "','" & linecc(37) & "','" & linecc(38) & "','" & linecc(39) & "','" & linecc(40) &
"','" & linecc(41) & "','" & linecc(42) & "','" & linecc(43) & "','" & linecc(44) & "','" & linecc(45) & "','" & linecc(46) & "','" & linecc(47) & "','" & linecc(48) &
"','" & linecc(49) & "','" & linecc(50) & "','" & linecc(51) & "','" & linecc(52) & "','" & linecc(53) & "','" & linecc(54) & "','" & linecc(55) & "','" & linecc(56) &
"','" & linecc(57) & "','" & linecc(58) & "','" & linecc(59) & "','" & linecc(60) & "',N'" & 通知語言 & "',N'" & Line & "',N'" & WhatsApp & "',N'" & Message &
"',N'" & 電話號碼1 & "',N'" & 電話號碼2 & "',N'" & 電話號碼3 & "',N'" & UserID & "')"
CmdSet_For_dr()
End Sub
Friend Sub SQL_LINE_使用者資料刪除(帳號 As String, 姓名 As String, token As String)
ConnOpen_LINE_SQL() : SQL1 = "DELETE FROM LINE_使用者權限管理表 WHERE (帳號 LIKE N'" & 帳號 & "' AND 姓名 LIKE N'" & 姓名 & "' AND token LIKE N'" & token & "')" : CmdSet_For_dr()
End Sub
Friend Sub SQL_LINE_新增發送通知()
ConnOpen_LINE_SQL()
SQL1 = "INSERT INTO LINE_通知設定表 (token,發送內容,隨機碼,通知語言,發送APP) VALUES (N'" & PA201 & "',N'" & PA202 & "',N'" & PA203 & "',N'" & PA204 & "',N'" & PA205 & "')"
CmdSet_For_dr()
End Sub
Friend Sub SQL_LINE_搜尋符合通知對象()
ConnOpen_LINE_SQL()
SQL1 = "SELECT UserID,token,通知語言,電話號碼1,電話號碼2,電話號碼3,Line,WhatsApp,Message FROM LINE_使用者權限管理表 WHERE(" & LINE_權限代號 & "='True' and 姓名 LIKE N'" & 發送對象 & "')"
CmdSet_For_DGV()
End Sub
Friend Sub SQL_LINE_通知內容清單載入()
ConnOpen_LINE_SQL()
SQL1 = "SELECT LINE_通知內容設定表.權限代號, LINE_權限一覽表.權限名稱, LINE_通知內容設定表.通知內容, LINE_通知內容設定表.通知格式,
LINE_通知內容設定表.變數位置, LINE_通知內容設定表.通知內容1, LINE_通知內容設定表.通知內容2, LINE_通知內容設定表.通知內容3,
LINE_通知內容設定表.已使用
FROM LINE_通知內容設定表 INNER JOIN
LINE_權限一覽表 ON LINE_通知內容設定表.權限代號 = LINE_權限一覽表.權限代號
ORDER BY LINE_通知內容設定表.權限代號"
CmdSet_For_DGV()
End Sub
Friend Sub SQL_LINE_通知內容()
ConnOpen_LINE_SQL()
SQL1 = "SELECT 通知格式,變數位置,通知內容1,通知內容2,通知內容3 FROM LINE_通知內容設定表 WHERE (權限代號='" & LINE_權限代號 & "')"
CmdSet_For_DGV()
End Sub
Friend Sub SQL_LINE_權限清單載入()
ConnOpen_LINE_SQL()
SQL1 = "SELECT LINE_權限一覽表.權限代號, LINE_權限一覽表.權限名稱, LINE_通知內容設定表.已使用
FROM LINE_權限一覽表 LEFT OUTER JOIN LINE_通知內容設定表 ON LINE_權限一覽表.權限代號 = LINE_通知內容設定表.權限代號
ORDER BY LINE_權限一覽表.權限代號"
CmdSet_For_DGV()
End Sub
Friend Sub LINE_新通知模塊()
Dim ds5, ds6 As New DataSet : ds5.Clear() : ds6.Clear()
Dim 通知格式, 變數位置, 通知內容1, 通知內容2, 通知內容3, 發送X, 發送Y As String
Dim L, M, W As Boolean
SQL_LINE_搜尋符合通知對象()
da.Fill(ds5)
LINE_需通知清單_dgv = ds5.Tables(0) : conn.Close()
If 通知變數X = "" Then : 發送X = "未設定通知變數X" : Else : 發送X = 通知變數X : End If
If 通知變數Y = "" Then : 發送Y = "未設定通知變數Y" : Else : 發送Y = 通知變數Y : End If
For x As Integer = 0 To LINE_需通知清單_dgv.Rows.Count - 1
L = LINE_需通知清單_dgv.Rows(x)("Line")
W = LINE_需通知清單_dgv.Rows(x)("WhatsApp")
M = LINE_需通知清單_dgv.Rows(x)("Message")
SQL_LINE_通知內容() : da.Fill(ds6) : LINE_通知內容清單_dgv = ds6.Tables(0) : conn.Close()
If LINE_需通知清單_dgv.Rows.Count = 0 Then : Else
通知格式 = LINE_通知內容清單_dgv.Rows(0)(0).ToString
變數位置 = LINE_通知內容清單_dgv.Rows(0)(1).ToString
通知內容1 = LINE_通知內容清單_dgv.Rows(0)(2).ToString
通知內容2 = LINE_通知內容清單_dgv.Rows(0)(3).ToString
通知內容3 = LINE_通知內容清單_dgv.Rows(0)(4).ToString
Dim 發送訊息 As String = "這是一則來自FH智能小幫手的通知訊息"
If 變數位置 = "A" Then
發送訊息 = 通知內容1
ElseIf 變數位置 = "X" Then
發送訊息 = 發送X
ElseIf 變數位置 = "A+X" Then
發送訊息 = 通知內容1 + 發送X
ElseIf 變數位置 = "X+A" Then
發送訊息 = 發送X + 通知內容1
ElseIf 變數位置 = "X+A+Y" Then
發送訊息 = 發送X + 通知內容1 + 發送Y
ElseIf 變數位置 = "A+X+B" Then
發送訊息 = 通知內容1 + 發送X + 通知內容2
ElseIf 變數位置 = "X+A+Y+B" Then
發送訊息 = 發送X + 通知內容1 + 發送Y + 通知內容2
ElseIf 變數位置 = "A+X+B+Y" Then
發送訊息 = 通知內容1 + 發送X + 通知內容2 + 發送Y
ElseIf 變數位置 = "A+X+B+Y+C" Then
發送訊息 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3
End If
Dim UserID As String = LINE_需通知清單_dgv.Rows(x)("UserID").ToString
If L = True Then
If UserID = "" Then : Else
PostData(UserID, 發送訊息, LINE_機器人代號)
End If
End If
End If
Next
ds5.Clear() : ds6.Clear() : 通知變數X = "" : 通知變數Y = ""
End Sub
Sub PostData(userID As String, text As String, robotID As String)
' 定義要請求的 URL
Dim url As String = "https://gcmlineauto-4acbbd534d6e.herokuapp.com/wsw/webhook"
' 準備要傳送的資料(這裡使用 JSON 格式)
Dim data As New Dictionary(Of String, String) From {
{"userID", userID},
{"text", text},
{"robotID", robotID}
}
Dim json As String = JsonConvert.SerializeObject(data)
' 建立 HttpWebRequest
Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
request.Method = "POST"
request.ContentType = "application/json"
request.ContentLength = Encoding.UTF8.GetByteCount(json)
' 將 JSON 資料寫入請求中
Using streamWriter As New StreamWriter(request.GetRequestStream())
streamWriter.Write(json)
streamWriter.Flush()
End Using
Try
' 獲取回應
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
Using streamReader As New StreamReader(response.GetResponseStream())
Dim result As String = streamReader.ReadToEnd()
Console.WriteLine("回應內容: " & result)
End Using
Catch ex As WebException
' 如果請求失敗,顯示錯誤
Dim errorResponse As HttpWebResponse = CType(ex.Response, HttpWebResponse)
Console.WriteLine("錯誤: " & errorResponse.StatusCode)
End Try
End Sub
Function SQL_LINE_隨機碼()
Dim rancode As String
Dim RndNum As New Random()
rancode = Str(Date.Now.Year).Trim().PadLeft(4, "0") + Str(Date.Now.Month).Trim().PadLeft(2, "0") + Str(Date.Now.Day).Trim().PadLeft(2, "0") + Str(Date.Now.Hour).Trim().PadLeft(2, "0") + Str(Date.Now.Minute).Trim().PadLeft(2, "0") + Str(Date.Now.Second).Trim().PadLeft(2, "0") + Str(RndNum.Next(1000)).Trim().PadLeft(4, "0")
Return rancode
End Function
Friend Sub LINE_通知模塊()
Dim ds5, ds6 As New DataSet : ds5.Clear() : ds6.Clear()
Dim 通知格式, 變數位置, 通知內容1, 通知內容2, 通知內容3, 發送X, 發送Y As String
Dim L, M, W As Boolean
SQL_LINE_搜尋符合通知對象()
da.Fill(ds5) : LINE_需通知清單_dgv = ds5.Tables(0) : conn.Close()
If 通知變數X = "" Then : 發送X = "未設定通知變數X" : Else : 發送X = 通知變數X : End If
If 通知變數Y = "" Then : 發送Y = "未設定通知變數Y" : Else : 發送Y = 通知變數Y : End If
For x As Integer = 0 To LINE_需通知清單_dgv.Rows.Count - 1
L = LINE_需通知清單_dgv.Rows(x)("Line")
W = LINE_需通知清單_dgv.Rows(x)("WhatsApp")
M = LINE_需通知清單_dgv.Rows(x)("Message")
SQL_LINE_通知內容() : da.Fill(ds6) : LINE_通知內容清單_dgv = ds6.Tables(0) : conn.Close()
If LINE_需通知清單_dgv.Rows.Count = 0 Then : Else
通知格式 = LINE_通知內容清單_dgv.Rows(0)(0).ToString
變數位置 = LINE_通知內容清單_dgv.Rows(0)(1).ToString
通知內容1 = LINE_通知內容清單_dgv.Rows(0)(2).ToString
通知內容2 = LINE_通知內容清單_dgv.Rows(0)(3).ToString
通知內容3 = LINE_通知內容清單_dgv.Rows(0)(4).ToString
If 變數位置 = "A" Then
PA202 = 通知內容1
ElseIf 變數位置 = "X" Then
PA202 = 發送X
ElseIf 變數位置 = "A+X" Then
PA202 = 通知內容1 + 發送X
ElseIf 變數位置 = "X+A" Then
PA202 = 發送X + 通知內容1
ElseIf 變數位置 = "X+A+Y" Then
PA202 = 發送X + 通知內容1 + 發送Y
ElseIf 變數位置 = "A+X+B" Then
PA202 = 通知內容1 + 發送X + 通知內容2
ElseIf 變數位置 = "X+A+Y+B" Then
PA202 = 發送X + 通知內容1 + 發送Y + 通知內容2
ElseIf 變數位置 = "A+X+B+Y" Then
PA202 = 通知內容1 + 發送X + 通知內容2 + 發送Y
ElseIf 變數位置 = "A+X+B+Y+C" Then
PA202 = 通知內容1 + 發送X + 通知內容2 + 發送Y + 通知內容3
End If
PA204 = LINE_需通知清單_dgv.Rows(x)(1).ToString
If L = True Then
PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("token").ToString : PA205 = "Line" : SQL_LINE_新增發送通知()
End If
If W = True Then
If LINE_需通知清單_dgv.Rows(x)("電話號碼1").ToString <> "" Then
PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼1").ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
End If
If LINE_需通知清單_dgv.Rows(x)("電話號碼2").ToString <> "" Then
PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼2").ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
End If
If LINE_需通知清單_dgv.Rows(x)("電話號碼3").ToString <> "" Then
PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼3").ToString : PA205 = "WhatsApp" : SQL_LINE_新增發送通知()
End If
End If
If M = True Then
If LINE_需通知清單_dgv.Rows(x)("電話號碼1").ToString <> "" Then
PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼1").ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
End If
If LINE_需通知清單_dgv.Rows(x)("電話號碼2").ToString <> "" Then
PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼2").ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
End If
If LINE_需通知清單_dgv.Rows(x)("電話號碼3").ToString <> "" Then
PA203 = LINE_公司名稱 & "-" & SQL_LINE_隨機碼() : PA201 = LINE_需通知清單_dgv.Rows(x)("電話號碼3").ToString : PA205 = "Message" : SQL_LINE_新增發送通知()
End If
End If
End If
Next
ds5.Clear() : ds6.Clear() : 通知變數X = "" : 通知變數Y = ""
End Sub
End Module