Difference between revisions of "ZH/Documentation/Administration Guide/Using Custom Macros and Libraries"
(New page: {{Documentation/AdminGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |ShowNextPage=block |PrevPage=Documentation/Administration Guide/Windows |NextPage=Documentation/Administration Gui...) |
OOoWikiBot (talk | contribs) m (Robot: Automated text replacement (-{{PDL1}} +{{InterWiki Languages AdminGuide|articletitle={{PAGENAME}}}}\n{{PDL1}})) |
||
Line 236: | Line 236: | ||
</ol> | </ol> | ||
+ | {{InterWiki Languages AdminGuide|articletitle={{PAGENAME}}}} | ||
{{PDL1}} | {{PDL1}} |
Revision as of 13:48, 20 October 2008
- Apache OpenOffice Basic Macros and Libraries
- Apache OpenOffice Extension Manager
- Adding Template Files to an Apache OpenOffice Installation
- Adding AutoText Files to an Apache OpenOffice Network Installation
- Deactivating the Apache OpenOffice Registration Wizard
- Accessing Email Clients
- Customizing the User Interface
- Restricting Functionality in Apache OpenOffice
- Accessing Apache OpenOffice User Profiles on an LDAP Server
< {{#switch:Previous Page | Previous Section = Previous Section | Next Section = Next Section | Previous Page = Previous Page | Next Page = Next Page | }} | {{#switch:Next Page | Previous Section = Previous Section | Next Section = Next Section | Previous Page = Previous Page | Next Page = Next Page | }} > |
Apache OpenOffice Basic 是一种编程语言,可用于在 Apache OpenOffice 中自动执行任务。 Apache OpenOffice Basic 宏存储在模块中,而这些模块又存储在库中。 库还作为在 Apache OpenOffice Basic 中创建的对话框的容器。 您可以将 Basic 库存储在用户可访问的任何目录中。
关于 Apache OpenOffice Basic 库和模块
默认 Apache OpenOffice Basic 库位于 install-dir/share/basic 目录中。库包含以下文件:
- script.xlb
- 包含库中的模块名称的 XML 文件。
- dialog.xlb
- 包含库中的对话框名称的 XML 文件。
- *.xba
- 存储单个 Apache OpenOffice Basic 模块的 Apache OpenOffice Basic 源代码的 XML 文件。该文件的名称与模块名称相对应。
- *.xdl
- 存储 Apache OpenOffice Basic 对话框的对话框元素的 XML 文件。该文件的名称与对话框名称相对应。
- *.pba
- 使用密码保护的 Apache OpenOffice Basic 模块,即,对源代码进行加密。该文件的名称与模块名称相对应。
关于 Apache OpenOffice Basic 配置文件
script.xlc 和 dialog.xlc 配置文件列出了 Apache OpenOffice Basic 库和对话框的位置。这些文件位于 install-dir/user/basic/ 目录中,该目录还包含默认标准 Apache OpenOffice Basic 库以及用户定义的库。
基于 XML 的 script.xlc 文件包含 Apache OpenOffice 的所有可用 Basic 库的列表。 可以使用以下标记:
- library:name
- 指定 Apache OpenOffice Basic 库的名称。
- xlink:href
- 指定该库的 script.xlb 文件的 URL。该 URL 必须以 file:/// 表示法开头。
- xlink:type
- 必须将 xlink:href 标记所需的该标记设置为 simple。
- library:link
- 指定将条目链接到不在默认库位置中的库。Apache OpenOffice Basic 库的默认位置为 install-dir/user/basic。 如果仅使用库的默认位置,请将此标记的值设置为 false。对于所有其他库,请将此标记的值设置为 true。
- library:readonly
- 指定库是否为只读。对于只读访问,请将此标记的值设置为 true。
以下 XML 代码用于 script.xlc 配置文件
(属于 Apache OpenOffice Basic 库)。该文件与 dialog.xlc
之间的唯一差异是,xlink:href 标记指向库的 script.xlb 文件, 而不是 dialog.xlb 文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE library:libraries PUBLIC
"-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "libraries.dtd">
<library:libraries
xmlns:library="http://openoffice.org/2000/library"
xmlns:xlink="http://www.w3.org/1999/xlink">
<library:library library:name="Standard"
xlink:href="file:///.../user/basic/Standard/script.xlb/"
xlink:type="simple" library:link="false"/>
<library:library library:name="FormWizard"
xlink:href="file:///.../share/basic/FormWizard/script.xlb/"
xlink:type="simple" library:link="true" library:readonly="false"/>
</library:libraries>
样例 Apache OpenOffice Basic 配置文件
分发 Apache OpenOffice Basic 库
可以为现有 Apache OpenOffice 安装提供自定义 Apache OpenOffice Basic 库,或者仅为新安装提供这些库。
为网络上的所有用户提供自定义 Apache OpenOffice Basic 库
可以使用 Apache OpenOffice 创建自定义库以及在该库中创建宏。
-
以 root 用户身份,将自定义库从创建该库的用户安装复制到 Apache OpenOffice 服务器安装中。
cp -r install-dir/user/basic/custom library install-dir/share/basic/ Template:Documentation/Note -
在用户安装的 script.xlc 配置文件中,添加一个指向库的 script.xlb 配置文件的链接。
请在该链接中使用以下语法:<library:library library:name="Library Name" xlink:href="$(USER)/basic/Library Name/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
-
在用户安装的 dialog.xlc 配置文件中,添加一个指向库的 script.xlb 配置文件的链接。
请在该链接中使用以下语法:<library:library library:name="Library Name" xlink:href="$(USER)/basic/Library Name/dialog.xlb/" xlink:type="simple" library:link="false"/>
- 在工作站上重新启动 Apache OpenOffice。
为单个用户提供自定义 Apache OpenOffice Basic 库
-
将自定义库从创建该库的用户安装复制到要部署该库的用户安装中。
- 在 Solaris 和 Linux 平台上,成为 root 用户,然后复制该库。
cp -r ''install-dir''/user/basic/custom library ''install-dir''/user/basic/
- 在 Windows 中,成为具有管理员权限的用户,然后复制该库。
该库的文件名路径为 C:\Documents and Settings\user-id\Application Data\install-dir\user\basic\custom library
-
在用户安装的 script.xlc 配置文件中,添加一个指向库的 script.xlb 配置文件的链接。
请在该链接中使用以下语法:<library:library library:name="Library Name" xlink:href="$(USER)/basic/Library Name/script.xlb/" xlink:type="simple" library:link="true" library:readonly="false"/>
-
在用户安装的 dialog.xlc 配置文件中,添加一个指向库的 script.xlb 配置文件的链接。
请在该链接中使用以下语法:<library:library library:name="Library Name" xlink:href="$(USER)/basic/Library Name/dialog.xlb/" xlink:type="simple" library:link="false"/>
- 重新启动 Apache OpenOffice。
使用宏安装自定义 Apache OpenOffice Basic 库
可以创建一个宏,以便从 Apache OpenOffice 文档中安装 Apache OpenOffice Basic 库。
- 在 Writer 中,在新文档中创建一个自定义 Apache OpenOffice Basic 库。
- 保存该文档。
- 创建一个安装宏。
- 选择工具 → 宏 → 管理宏 → Apache OpenOffice Basic。将显示 Apache OpenOfficeBasic 宏对话框。
- 在宏的来源列表中,选择该 Writer 文档。
- 在宏名称框中,键入安装宏的名称。
- 单击新建按钮。将显示 BASIC IDE 窗口。
- 键入以下代码:
- 将 SrcLibraryName 和 DestLibraryName 变量替换为库名称。
- 关闭 BASIC IDE 窗口。
- 在文档中添加一个按钮。
- 在工具工具栏中,打开控件工具栏,然后单击按钮图标。
- 在该文档中,通过拖动来绘制按钮。
- 为按钮事件指定安装宏。
- 右键单击新按钮,然后选择控件。
- 单击事件选项卡。
- 单击按钮事件旁边的省略号 ... 按钮,例如,按住鼠标键事件。
- 在指定宏对话框中,单击指定按钮。将显示宏选择器对话框。
- 在库列表中,选择包含该安装宏的库。
- 在宏名称列表中,选择该安装宏。
- 单击确定。
- 在指定宏对话框中,单击确定。
- 保存该文档。
Sub AddBasicLibrary
Dim SourceLibraryName As String, DestLibraryName As String
Dim oSrcLib As Object, oDestLib As Object, iCounter As Integer
Dim oLib As Object, oGlobalLib As Object
' set these 2 variables to your lib name
SrcLibraryName = "TextLib"
' The name of the library that contains the modules
DestLibraryName = "NewLib"
' This library will be created and is the
' destination for the modules from the source document.
oLib = BasicLibraries ' For Basic libaries
oGlobalLib = GlobalScope.BasicLibraries
For iLib = 1 To 2
If oGlobalLib.hasByName( DestLibraryName ) = False Then
oGlobalLib.createLibrary( DestLibraryName )
End If
If oLib.hasByName( SrcLibraryName ) Then
oLib.loadLibrary( SrcLibraryName )
oSrcLib = oLib.getByName( SrcLibraryName )
sSrcModules = oSrcLib.getElementNames()
iCounter = lBound( sSrcModules() )
while( iCounter <= uBound( sSrcModules() ) )
oDestLib = oGlobalLib.getByName(DestLibraryName)
If oDestLib.hasByName( sSrcModules(iCounter) ) = False Then
oDestLib.insertByName( sSrcModules(iCounter),_
oSrcLib.getByName( sSrcModules(iCounter) ) )
End If
iCounter = iCounter + 1
wend
End If
oLib = DialogLibraries ' The same for the Dialog libraries
oGlobalLib = GlobalScope.DialogLibraries
Next iLib
End Sub
Content on this page is licensed under the Public Documentation License (PDL). |