標題:
如何讓 『注意!日期比對不一樣!』 的彈出視窗能優先顯示呢?
[打印本頁]
作者:
RCRG
時間:
2015-11-18 05:20
標題:
如何讓 『注意!日期比對不一樣!』 的彈出視窗能優先顯示呢?
本帖最後由 RCRG 於 2015-11-18 05:22 編輯
[attach]22477[/attach]
下載資料夾後,會有三個檔案,而主要問題描述在主檔,其他兩個 資料檔和日期比對檔 只是比對參照用,可不開、不理會之。
作者:
GBKEE
時間:
2015-11-18 09:08
本帖最後由 GBKEE 於 2015-11-21 14:10 編輯
回復
1#
RCRG
Option Explicit
Private Sub Workbook_Open()
檢測資料檔
X.Quit
If xMsg = "" Then GoTo 999 '若已開放讀取,直接跳至〔提示文字〕
MsgBox xMsg & Chr(10) & Chr(10) & _
"在報表重新開放權限前,本檔案將自動關閉, " & Chr(10) & Chr(10) & _
"***若有疑問,請洽檔案程式管理人***"
Application.DisplayAlerts = False
If Workbooks.Count = 1 Then
Application.Quit
Else
ThisWorkbook.Close 0
End If
Application.DisplayAlerts = True
Exit Sub
999:
If Sheet1.[a1] <> Str Then MsgBox "注意!日期比對不一樣!", 48 '這樣優先對嗎?
If Info2 <> "" Then MsgBox Info2
Worksheets("TEST").Protect Password:="123", userInterFaceonly:=True
Worksheets("TEST").EnableAutoFilter = True
End Sub
複製代碼
Option Explicit
Public xMsg$, Info1$, Info2$ '-------------------------------------------
Public Str$, X As New Application '-------------------------------------------
Sub 檢測資料檔()
Dim XB As Workbook, XSHT As Worksheet, DataFile As String
DataFile = ThisWorkbook.Path & "\資料檔.xls" '(注意)正式使用時,更改為實際固定的〔路徑+檔名〕
xMsg = "": Info1 = "": Info2 = ""
If Dir(DataFile) = "" Then xMsg = "找不到檔案,或沒有權限讀取! ": Exit Sub
Set XB = X.Workbooks.Open(DataFile, ReadOnly:=True)
On Error Resume Next
Set XSHT = XB.Sheets("權限設定")
If XSHT Is Nothing Then
xMsg = "偵測錯誤:DATA資料檔〔權限設定〕工作表不存在! "
Exit Sub
End If
Info1 = XSHT.Range("C2").Value '權限設定值
Info2 = XSHT.Range("C4").Value '開啟檔案時的提示文字
''''''''''''''''''''''''''''''''''''''''''''''''
DataFile = ThisWorkbook.Path & "\日期比對檔.xls"
Str = X.Workbooks.Open(DataFile, ReadOnly:=True).Sheets("工作表A").[a1]
'''''''''''''''''''''''''''''''''''''''''''''''''
If Info1 = "OFF" Then xMsg = "目前禁止使用! ": Exit Sub
If Info1 = "Update" Then xMsg = "已更新,舊檔不能再使用,請重新下載! ": Exit Sub
End Sub
複製代碼
作者:
RCRG
時間:
2015-11-21 03:59
回復
2#
GBKEE
請問GBKEE大,我貼上您的VBA使用後,發現只會跑出"注意!日期比對不一樣!"的彈出視窗,資料檔的C4欄位彈出視窗反而不會顯示了,是我哪裡用錯了嗎?
因為我的需求是只想把 "注意!日期比對不一樣!" 彈出視窗能
優先顯示
,但不異動到我原本VBA的功能,如果會影響到我本來的VBA效果,那這樣就因小失大了..QQ
作者:
RCRG
時間:
2015-11-21 12:42
回復
2#
GBKEE
結果論的話,這樣的確是我要的;
不過,我原本This Workbook內 "日期比對檔"的路徑怎不見了!QQ
因為他們是有關連性的,如果 "主檔" 和 "日期比對檔" A1欄的日期不一樣就會彈出視窗來提醒使用者,但如果日期是一樣的就不會彈出視窗;
不知是否能幫我把路徑加回去呢? 有勞GBKEE大了!謝謝!
作者:
GBKEE
時間:
2015-11-21 14:13
回復
4#
RCRG
自己修改試試看
Info1 = XSHT.Range("C2").Value '權限設定值
Info2 = XSHT.Range("C4").Value '開啟檔案時的提示文字
''''''''''''''''''''''''''''''''''''''''''''''''
'DataFile = ThisWorkbook.Path & "\日期比對檔.xls"
DataFile = "D:\Documents and Settings\桌面\解題資料夾\日期比對檔.xls"
Str = X.Workbooks.Open(DataFile, ReadOnly:=True).Sheets("工作表A").[a1]
'''''''''''''''''''''''''''''''''''''''''''''''''
複製代碼
作者:
RCRG
時間:
2015-11-21 18:10
回復
5#
GBKEE
哦哦!所以是有"日期比對檔"的路徑對吧,是我自己沒看到囉!
呵呵 !不好意思,GBKEE大,現在我再拉回去看還真的有"日期比對檔"的路徑呢!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)