如何讓 『注意!日期比對不一樣!』 的彈出視窗能優先顯示呢?
暱稱: RCRG滾奶滾企
中學生
- 帖子
- 95
- 主題
- 24
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-11-10
- 最後登錄
- 2020-5-25
|
如何讓 『注意!日期比對不一樣!』 的彈出視窗能優先顯示呢?
本帖最後由 RCRG 於 2015-11-18 05:22 編輯
解題資料夾.rar (6.15 KB)
下載資料夾後,會有三個檔案,而主要問題描述在主檔,其他兩個 資料檔和日期比對檔 只是比對參照用,可不開、不理會之。 |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 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滾奶滾企
中學生
- 帖子
- 95
- 主題
- 24
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-11-10
- 最後登錄
- 2020-5-25
|
3#
發表於 2015-11-21 03:59
| 只看該作者
回復 2# GBKEE
請問GBKEE大,我貼上您的VBA使用後,發現只會跑出"注意!日期比對不一樣!"的彈出視窗,資料檔的C4欄位彈出視窗反而不會顯示了,是我哪裡用錯了嗎?
因為我的需求是只想把 "注意!日期比對不一樣!" 彈出視窗能優先顯示,但不異動到我原本VBA的功能,如果會影響到我本來的VBA效果,那這樣就因小失大了..QQ |
|
|
|
|
|
|
暱稱: RCRG滾奶滾企
中學生
- 帖子
- 95
- 主題
- 24
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-11-10
- 最後登錄
- 2020-5-25
|
4#
發表於 2015-11-21 12:42
| 只看該作者
回復 2# GBKEE
結果論的話,這樣的確是我要的;
不過,我原本This Workbook內 "日期比對檔"的路徑怎不見了!QQ
因為他們是有關連性的,如果 "主檔" 和 "日期比對檔" A1欄的日期不一樣就會彈出視窗來提醒使用者,但如果日期是一樣的就不會彈出視窗;
不知是否能幫我把路徑加回去呢? 有勞GBKEE大了!謝謝! |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
5#
發表於 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滾奶滾企
中學生
- 帖子
- 95
- 主題
- 24
- 精華
- 0
- 積分
- 118
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-11-10
- 最後登錄
- 2020-5-25
|
6#
發表於 2015-11-21 18:10
| 只看該作者
回復 5# GBKEE
哦哦!所以是有"日期比對檔"的路徑對吧,是我自己沒看到囉!
呵呵 !不好意思,GBKEE大,現在我再拉回去看還真的有"日期比對檔"的路徑呢! |
|
|
|
|
|
|