返回列表 上一主題 發帖

[發問] VB更改win10系統時間,權限問題

回復 1# blue2263
  1.    Date = DateAdd("m", 1, Date)     '  日期 + 1個月
複製代碼
因為 Date 為系統之內在函數,
是不允許使用者任意更動的。
P.S.  "Date" 為系統之保留字 (Reserved Word);
但如果修改為:
  1.    dd = DateAdd("m", 1, Date)     '  日期 + 1個月
複製代碼
則是 OK 的。

TOP

本帖最後由 c_c_lai 於 2016-11-6 07:54 編輯

回復 3# blue2263
一樣是使用同一 Office 版本?
我是用 Office 2010,一測便如同你發生的訊息。
據我所知  Office 2010 語法檢查比較嚴謹,它的
保留字或內在涵式是不能當變數使用拿來被 Assign 值的。
與 Windows  版本無關。
(沒有更改權限 指的就是以上的解說)

TOP

本帖最後由 c_c_lai 於 2016-11-6 09:54 編輯

回復 5# blue2263
這三個例子,你用 F8 去執行,便可觀察出來:
  1. Sub Ex()
  2.    Date = DateAdd("m", 1, Date)     '  日期 + 1個月
  3.    MsgBox Date
  4. End Sub
複製代碼
  1. Sub Ex2()
  2.    Dim Date

  3.    Date = DateAdd("m", 1, Date)     '  日期 + 1個月
  4.    MsgBox Date
  5. End Sub
複製代碼
基本上,上兩個用法在正規的程式邏輯語法應用上是不被允許的,
這也是 VB 本身的語法漏洞,到了 Windows 10 內部作業系統程式庫
即將它補正了。
  1. Sub Ex3()
  2.    Dim dd

  3.    dd = DateAdd("m", 1, Date)     '  日期 + 1個月
  4.    MsgBox dd       '  亦為日期型態
  5. End Sub
複製代碼

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題