1

我打算将我的代码从按钮转移到代理,但是当我把它放在我的声明中时:

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 我似乎无法找出发生了什么,因为它只是一个声明。你能帮我吗?

4

2 回答 2

3

您是否在代理中使用任何脚本库?当您使用已在脚本库中声明的相同变量或函数名称时,会出现此错误。

从帮助文档:

公共符号在另一个模块中声明:<name>

声明为 Public 的名称已在另一个加载的模块中声明为 Public。一个名称一次只能在一个加载的模块中声明为 Public。其他加载的模块只能引用该名称。

从声明中删除 Public,或更改 Public 名称,使其不与已加载模块中的名称冲突。

也看看这个这个

于 2013-08-05T09:40:25.167 回答
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
于 2013-08-05T10:04:51.487 回答