2013-08-05 30 views
1

我要轉移我的代碼按鈕劑,但是當我把這個在我的聲明:的Lotus Notes:公共符號聲明在另一模塊:

Dim s As NotesSession 
Dim db As NotesDatabase 

Dim doc As NotesDocument 
Dim view As NotesView 
Dim coll As NotesDocumentCollection 
Dim item As NotesItem 
Dim Formula As String 'Public symbol is declared in another module: Formula 

Dim authors() As Variant 'Public symbol is declared in another module: AUTHORS 
Dim authorlist() As Variant 

我有這個Public symbol is declared in another module 我可以似乎沒有發現什麼是因爲它只是一個聲明。你能幫我嗎?

回答

3

您是否在代理中使用任何腳本庫?當您使用腳本庫中已經聲明的相同變量或函數名稱時,會出現此錯誤。

從幫助文檔:

公共符號在另一個模塊中聲明:<name>

聲明爲公共的名稱在 另一個加載模塊已被宣佈爲公共。一次只能在一個加載模塊 中將名稱聲明爲Public。其他加載的模塊只能引用該名稱。

從聲明中刪除Public,或者更改公共名稱,以便 它不會與已加載模塊中的名稱發生衝突。

也看看thisthis

3

所以我把它直接粘貼到主源窗口而不是Initialize部分。

如果是這樣,你的變量發生了什麼變化是保留關鍵字。要解決此問題,請更改名稱或在方法中聲明它們。

實施例:

Sub Initialize 
    Dim s As NotesSession 
    Dim db As NotesDatabase 

    Dim doc As NotesDocument 
    Dim view As NotesView 
    Dim coll As NotesDocumentCollection 
    Dim item As NotesItem 
    Dim Formula As String 'Public symbol is declared in another module: Formula 

    Dim authors() As Variant 'Public symbol is declared in another module: AUTHORS 
    Dim authorlist() As Variant 
    Dim editors() As Variant 
End Sub 
+1

這是因爲它的變量隔離到代理並沒有風險的過程外損壞的數據的「最佳實踐」。 – Newbs