Skip to content

菜单控制相关属性

说明:
布尔型;可读写;是否显示菜单栏。

语法:

javascript
// 设置
Obj.Menubar = true;  // 或 false

// 读取
var showMenubar = Obj.Menubar;

说明:
String型字符串;可读写;菜单栏背景颜色;缺省值:白色。

语法:

javascript
// 设置
Obj.MenubarColor = OLE_COLOR;

// 读取
var color = Obj.MenubarColor;

注意: OLE_COLOR是一个BGR (Blue, Green, Red)数值。
BGR value = (blue * 65536) + (green * 256) + red,如0xFF0000

说明:
数值型;可读写;设定菜单条的风格;缺省值:3。

语法:

javascript
// 设置
Obj.MenuBarStyle = 0;  // 0, 1, 2, 3, 4, 或 5

// 读取
var style = Obj.MenuBarStyle;

菜单条风格选项:

常量名说明
0ntkoMenuBarFlat平坦风格
1ntkoMenuBarLinearH1水平填充1
2ntkoMenuBarLinearH2水平填充2
3ntkoMenuBarLinearV1水平填充1(缺省)
4ntkoMenuBarLinearV2水平填充2
5ntkoMenuBarLinearHM中间填充

说明:
String型字符串;可读写;菜单按钮的填充颜色,当MenuButtonStyle为3或者以上时起作用;缺省值:系统非活动标题栏文本颜色。

语法:

javascript
// 设置
Obj.MenuButtonColor = OLE_COLOR;

// 读取
var color = Obj.MenuButtonColor;

注意: OLE_COLOR是一个BGR (Blue, Green, Red)数值。
BGR value = (blue * 65536) + (green * 256) + red,如0xFF0000

说明:
数值型;可读写;设定菜单按钮的风格。

语法:

javascript
// 设置
Obj.MenuButtonStyle = 0;  // 0-8

// 读取
var style = Obj.MenuButtonStyle;

菜单按钮风格选项:

常量名说明
0ntkoMenuButtonHilight默认系统亮度显示
1ntkoMenuButtonUpper凸起显示
2ntkoMenuButtonLower凹陷显示
3ntkoMenuButtonFlat平坦风格
4ntkoMenuButtonLinearH1水平填充1
5ntkoMenuButtonLinearH2水平填充2
6ntkoMenuButtonLinearV1垂直填充1
7ntkoMenuButtonLinearV2垂直填充2(缺省)
8ntkoMenuButtonLinearHM中间填充

说明:
String型字符串;可读写;设定菜单按钮边框的颜色;缺省值:系统非活动标题栏文本颜色。

语法:

javascript
// 设置
Obj.MenuButtonFrameColor = OLE_COLOR;

// 读取
var color = Obj.MenuButtonFrameColor;

注意: OLE_COLOR是一个BGR (Blue, Green, Red)数值。
BGR value = (blue * 65536) + (green * 256) + red,如0xFF0000

CustomMenuCaption [已过时]

说明:
该属性不建议使用。请参考AddCustomMenu2方法。
自定义主菜单的标题。当新增的主菜单中有菜单项目时,会显示该标题到主菜单。主菜单的项目可以通过新增的方法:AddCustomMenuItem增加。请参考"主要方法参考"部分的"自定义菜单相关方法"部分。

说明:
该属性不建议使用。请参考AddCustomMenu2方法。
只读。返回自定义主菜单中的项目数量。

FileMenuItemCount

说明:
数值型;只读;返回自定义文件菜单中的项目数量。

语法:

javascript
// 读取
var count = Obj.FileMenuItemCount;

IsShowToolMenu

说明:
布尔型;可读写;显示/隐藏工具菜单;缺省值:TRUE。
在隐藏审阅(修订)工具栏之后,一般也需要隐藏工具菜单。否则。从工具菜单也能够访问到审阅功能。此项功能因为office2007用的是Ribbon风格的界面,底层菜单改变很大,因此此项功能以及以下操作菜单的功能对office2007不起作用。

语法:

javascript
// 设置
Obj.IsShowToolMenu = true;  // 或 false

// 读取
var showToolMenu = Obj.IsShowToolMenu;

IsShowHelpMenu

说明:
布尔型;可读写;显示/隐藏帮助菜单;缺省值:TRUE。

语法:

javascript
// 设置
Obj.IsShowHelpMenu = true;  // 或 false

// 读取
var showHelpMenu = Obj.IsShowHelpMenu;

IsShowInsertMenu

说明:
布尔型;可读写;显示/隐藏插入菜单;缺省值:TRUE。

语法:

javascript
// 设置
Obj.IsShowInsertMenu = true;  // 或 false

// 读取
var showInsertMenu = Obj.IsShowInsertMenu;

IsShowEditMenu

说明:
布尔型;可读写;显示/隐藏编辑菜单;缺省值:TRUE。

语法:

javascript
// 设置
Obj.IsShowEditMenu = true;  // 或 false

// 读取
var showEditMenu = Obj.IsShowEditMenu;

文件菜单控制属性

FileNew

说明:
布尔型;可读写;用来允许或者禁止文件菜单的新建项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FileNew = true;  // 或 false

// 读取
var allowNew = Obj.FileNew;

FileOpen

说明:
布尔型;可读写;用来允许或者禁止文件菜单的打开项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FileOpen = true;  // 或 false

// 读取
var allowOpen = Obj.FileOpen;

FileClose

说明:
布尔型;可读写;用来允许或者禁止文件菜单的关闭项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FileClose = true;  // 或 false

// 读取
var allowClose = Obj.FileClose;

FileSave

说明:
布尔型;可读写;用来允许或者禁止文件菜单的保存项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FileSave = true;  // 或 false

// 读取
var allowSave = Obj.FileSave;

FileSaveAs

说明:
布尔型;可读写;用来允许或者禁止文件菜单的另存为项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FileSaveAs = true;  // 或 false

// 读取
var allowSaveAs = Obj.FileSaveAs;

FilePrint

说明:
布尔型;可读写;用来允许或者禁止文件菜单的打印项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FilePrint = true;  // 或 false

// 读取
var allowPrint = Obj.FilePrint;

FilePrintPreview

说明:
布尔型;可读写;用来允许或者禁止文件菜单的打印预览项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FilePrintPreview = true;  // 或 false

// 读取
var allowPrintPreview = Obj.FilePrintPreview;

FilePageSetup

说明:
布尔型;可读写;用来允许或者禁止文件菜单的页面设置项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FilePageSetup = true;  // 或 false

// 读取
var allowPageSetup = Obj.FilePageSetup;

FileProperties

说明:
布尔型;可读写;用来允许或者禁止文件菜单的属性项。与EnableFileCommand(CommandType)属性作用相同。

语法:

javascript
// 设置
Obj.FileProperties = true;  // 或 false

// 读取
var allowProperties = Obj.FileProperties;

EnableFileCommand [已过时]

说明:
布尔型;可读写;设置文件命令状态。该属性已过时,仅为兼容保留。新的应用程序请使用FileNew、FileOpen、FileClose、FileSave、FileSaveAs、FilePrint、FilePrintPreview、FilePageSetup、FileProperties属性。

CommandType 对应关系:

  • 0:文件->新建菜单
  • 1:文件->打开菜单
  • 2:文件->关闭菜单
  • 3:文件->保存菜单
  • 4:文件->另存为菜单
  • 5:文件->打印菜单
  • 6:文件->打印预览菜单
  • 7:文件->打印设置菜单
  • 8:文件->属性菜单

语法:

javascript
// 设置
Obj.EnableFileCommand(0) = true;  // 0-8

// 读取
var status = Obj.EnableFileCommand(0);

Hidden2003Menus

说明:
String型字符串;可读写;读取/设置要隐藏的Office2003的主菜单项。

语法:

javascript
// 设置
Obj.Hidden2003Menus = "表格(&A);格式(&O)";

// 读取
var hiddenMenus = Obj.Hidden2003Menus;

Hidden2003MenuItems

说明:
String型字符串;可读写;读取/设置要隐藏的Office2003的菜单项目。

语法:

javascript
// 设置
Obj.Hidden2003MenuItems = "保护文档(&P)...;联机协作(&N)";

// 读取
var hiddenItems = Obj.Hidden2003MenuItems;

CustomMenuStr

说明:
String型字符串;可读写;读取/设置用来在右键事件中添加右键弹出菜单的项和索引,使用"&"和"="来分割,用"="来分割菜单显示的名字,和当前菜单的索引。索引将会在事件OnClickCustomContextMenu中使用。

语法:

javascript
// 设置
Obj.CustomMenuStr = "插入表格=1&插入图片=2&插入文字=3";

// 读取
var customMenu = Obj.CustomMenuStr;

注意:

  • 不要给菜单索引指定为0,选择值为0就代表并没有被选择。
  • 启用本属性的自定义右键菜单,必须在文档控件的鼠标右键单击事件里通过CancelWordRightClick、CancelSheetRightClick这样的属性屏蔽原右键菜单,否则自定义右键菜单无法显示。

使用示例

基本菜单配置

javascript
// 配置菜单栏基本属性
function configureMenuBar() {
    // 显示菜单栏
    Obj.Menubar = true;
    
    // 设置菜单栏颜色(蓝色背景)
    Obj.MenubarColor = 0xFF0000;
    
    // 设置菜单条风格
    Obj.MenuBarStyle = 3;  // 水平填充1
    
    // 设置菜单按钮风格
    Obj.MenuButtonStyle = 7;  // 垂直填充2
    Obj.MenuButtonColor = 0x00FF00;  // 绿色
    Obj.MenuButtonFrameColor = 0x0000FF;  // 红色边框
}

菜单项控制

javascript
// 控制菜单项显示
function controlMenuItems() {
    // 显示/隐藏特定菜单
    Obj.IsShowToolMenu = true;
    Obj.IsShowHelpMenu = true;
    Obj.IsShowInsertMenu = true;
    Obj.IsShowEditMenu = true;
    
    // 控制文件菜单项
    Obj.FileNew = true;
    Obj.FileOpen = true;
    Obj.FileSave = true;
    Obj.FilePrint = false;  // 禁用打印
}

自定义右键菜单

javascript
// 为WORD文档添加自定义右键菜单
<script event="OnWordBeforeRightClick(arg1, arg2)" for="TNAGER_OCX" language="javascript">
    TNAGER_OCX.CancelWordRightClick = true;
    TNAGER_OCX.CustomMenuStr = "插入表格=1&插入图片=2&插入文字=3";
</script>

// 为EXCEL文档添加自定义右键菜单
<script event="OnSheetBeforeRightClick(arg1, arg2, arg3, arg4)" for="TNAGER_OCX" language="javascript">
    TNAGER_OCX.CancelSheetRightClick = true;
    TNAGER_OCX.CustomMenuStr = "插入行=1&插入图片=2&插入文字=3";
</script>

隐藏Office2003菜单

javascript
// 隐藏特定的Office2003菜单
function hideOffice2003Menus() {
    // 隐藏主菜单项
    Obj.Hidden2003Menus = "表格(&A);格式(&O)";
    
    // 隐藏菜单项目
    Obj.Hidden2003MenuItems = "保护文档(&P)...;联机协作(&N)";
}

属性分类总结

分类属性功能
菜单栏控制Menubar显示/隐藏菜单栏
MenubarColor菜单栏背景颜色
MenuBarStyle菜单条风格
菜单按钮MenuButtonStyle菜单按钮风格
MenuButtonColor菜单按钮填充颜色
MenuButtonFrameColor菜单按钮边框颜色
菜单项控制IsShowToolMenu显示/隐藏工具菜单
IsShowHelpMenu显示/隐藏帮助菜单
IsShowInsertMenu显示/隐藏插入菜单
IsShowEditMenu显示/隐藏编辑菜单
文件菜单FileNew控制新建功能
FileOpen控制打开功能
FileSave控制保存功能
FilePrint控制打印功能
自定义菜单CustomMenuStr自定义右键菜单
Hidden2003Menus隐藏Office2003菜单
Hidden2003MenuItems隐藏Office2003菜单项

注意事项

  1. Office2007兼容性:部分菜单控制功能对Office2007不起作用,因为其使用Ribbon界面
  2. 颜色格式:所有颜色属性使用BGR格式,不是常见的RGB格式
  3. 已过时属性CustomMenuCaptionMenuItemCountEnableFileCommand已过时,建议使用新的方法
  4. 自定义右键菜单:需要配合相应的事件处理才能正常工作
  5. 菜单索引:自定义菜单的索引不要设置为0