2013-08-05 103 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