none
难道office以后的版本就不打算再使用2003以前版本的经典菜单和经典工具栏,且能让用户象2003那样方便的进行自定义了吗? RRS feed

  • 常规讨论

  • 2007\2010版本让很多老用户觉得界面真的不如2003,虽然功能比2003强.

    至少有让用户选择是用经典菜单还是不用经典菜单的权利吧,你们也应该尊重一下老用户吧.

     


    2011年7月20日 11:47

全部回复

  • 改变习惯后引起的反一种习惯,无论在工作中生活中都是如此。面对windows,dos自然退休了。来吧,一起走进来吧。

    别害怕新事物,2010的界面都是经过无数次的测试才得到的。

    对于老用户,微软肯定不会放弃,你看看这个链接:http://office.microsoft.com/zh-cn/templates/CL101817133.aspx?tl=2

    office2010全系列产品与2003的菜单对照表。

    另外提供一种方式,就是按照自己的习惯,或2003的习惯自定义功能区的菜单按键。

    我们的MVP就有人这样做的,路径:【文件】【选项】【自定义功能区】


    梦想有多远,你就能走多远。
    2011年7月20日 12:50
    版主
  • '版主,请问在VB6中的com加载项中使用 Sub rxshared_getLabel(control As IRibbonControl)  ', ByRef returnedVal用了这个参数这个过程就不执行呢?  没有回调值那不等于零?

     

    '全部代码如下:

    Option Explicit

    Private oWD As Word.Application
    Private WithEvents objButton1 As Office.CommandBarButton
    Private WithEvents objButton2 As Office.CommandBarButton
    Private WithEvents objButton3 As Office.CommandBarButton

    Public grxIRibbonUI As IRibbonUI

    Public glngCount1 As Long

    Public glngCount2 As Long


    Implements IRibbonExtensibility '添加对 IRibbonExtensibility 接口的引用

    '========================================================================
      ''启动时执行的任务
    '========================================================================

    Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
    Set oWD = Application
    Select Case oWD.Version
          Case "12.0"
            MsgBox "你正使用的版本是Office 12"
          Case "11.0"
            MsgBox "你正使用的版本是Office 11"
            Call CreateMenu
          Case Else
            MsgBox oWD.Version
            Call CreateMenu
     End Select
           
    End Sub


    '========================================================================
      '移除时执行的任务
    '========================================================================
    Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
      Call DeleteMenu
      Set objButton1 = Nothing
      Set objButton2 = Nothing
      Set objButton3 = Nothing
      Set oWD = Nothing
    End Sub


    '========================================================================
      ''实现IRibbonExtensibility接口的唯一成员 GetCustomUI,此过程调用 GetRibbonXML 方法,正如其名称所示,
    '该方法将自定义 XML 返回到 GetCustomUI 方法,后者然后将自定义 XML 添加到功能区用户界面以便在加载外接程序时实现它。
    '========================================================================
    Public Function IRibbonExtensibility_GetCustomUI(ByVal RibbonID As String) As String
          IRibbonExtensibility_GetCustomUI = GetRibbonXML()
    End Function


    '========================================================================
      '添加 XML 自定义标记代码
    '========================================================================

    Public Function GetRibbonXML() As String
       Dim sRibbonXML As String

        sRibbonXML = StrConv(LoadResData(101, "custom"), vbUnicode)

      
       GetRibbonXML = sRibbonXML
      
    End Function


    '========================================================================
      ''控件回调的过程
    '========================================================================
    'Callback for customUI.onLoad
    Sub rxIRibbonUI_onLoad(ribbon As IRibbonUI)

        Set grxIRibbonUI = ribbon

    End Sub

     

    Sub rxshared_click(control As IRibbonControl)

        grxIRibbonUI.Invalidate

    End Sub

     

    Sub rxshared_getLabel(control As IRibbonControl)  ', ByRef returnedVal)  '用了这个参数就出错。
        Select Case control.Id

            Case "rxbtn"

               ' returnedVal = "功能区无效:" & glngCount1 & "次."

                glngCount1 = glngCount1 + 1
                oWD.Selection.TypeText "2222222"

            Case "rxbtn2"

               ' returnedVal = "功能区无效: " & glngCount2 & "次."

                glngCount2 = glngCount2 + 1

        End Select

    End Sub


    Public Sub InsertCompanyName(ByVal control As IRibbonControl)
       grxIRibbonUI.Invalidate
    oWD.Selection.TypeText "这是在做测试哦。"
    End Sub


    '========================================================================
      '创建2003菜单
    '========================================================================

    Private Sub CreateMenu()

        Dim NewMenu As Office.CommandBarPopup
      
        Call DeleteMenu
           
        Set NewMenu = oWD.CommandBars("Menu Bar").Controls.Add(Type:=msoControlPopup, Temporary:=True)

        With NewMenu
            .Caption = "sanjie"
           Set objButton1 = .Controls.Add(Type:=msoControlButton)
               With objButton1
                  .Caption = "输入信息"
                  .FaceId = 23
                  .Tag = "Button1"
               End With
       
           Set objButton2 = .Controls.Add(Type:=msoControlButton)
              With objButton2
                  .Caption = "显示当前Word版本"
                  .FaceId = 116
                  .Tag = "Button2"
              End With
       
          Set objButton3 = .Controls.Add(Type:=msoControlButton)
             With objButton3
                  .Caption = "关于..."
                 .BeginGroup = True
                 .FaceId = 984
                 .Tag = "Button3"
             End With
        End With
    End Sub

    '========================================================================
      '删除菜单2003
    '========================================================================

    Private Sub DeleteMenu()
        On Error Resume Next
        'CommandBars(1).Reset
        oWD.CommandBars("Menu Bar").Controls("sanjie").Delete
    End Sub

    '========================================================================
      '按钮1的动作
    '========================================================================

    Private Sub objButton1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
       Dim MyText As String
       Dim MyRange As Object
       Set MyRange = oWD.ActiveDocument.Range
       MyText = "http://www.officefans.net/"
       MyRange.InsertBefore (MyText)
    End Sub

    '========================================================================
      '按钮2的动作
    '========================================================================
    Private Sub objButton2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
       MsgBox oWD.Version
    End Sub

    '========================================================================
      '按钮3的动作
    '========================================================================

    Private Sub objButton3_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
       MsgBox "三戒制作!", vbInformation, Title:="ok"
    End Sub

     

     

    2011年8月28日 15:00
  • 改变习惯后引起的反一种习惯,无论在工作中生活中都是如此。面对windows,dos自然退休了。来吧,一起走进来吧。

    别害怕新事物,2010的界面都是经过无数次的测试才得到的。

    对于老用户,微软肯定不会放弃,你看看这个链接:http://office.microsoft.com/zh-cn/templates/CL101817133.aspx?tl=2

    office2010全系列产品与2003的菜单对照表。

    另外提供一种方式,就是按照自己的习惯,或2003的习惯自定义功能区的菜单按键。

    我们的MVP就有人这样做的,路径:【文件】【选项】【自定义功能区】


    梦想有多远,你就能走多远。

     

    还有就是sRibbonXML
    的值为:

    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="rxIRibbonUI_onLoad">

        <ribbon>

            <tabs>

                <tab id="rxtabDemo"

                     label="My Custom Tab"

                     insertBeforeMso="TabHome">

                     <group id="rxgrpDemo"

                            label="My Demo Group">

                         <button id="rxbtn"

                                 getLabel="rxshared_getLabel"

                                 size="normal"

                                 onAction="rxshared_click"

                                 imageMso="FillRight"/>

                         <button id="rxbtn2"

                                 getLabel="rxshared_getLabel"

                                 size="normal"

                                 onAction="rxshared_click"

                                 imageMso="FillRight"/>

                     </group>

                </tab>

            </tabs>

        </ribbon>

    </customUI>

     

    2011年8月28日 15:02
  • 改变习惯后引起的反一种习惯,无论在工作中生活中都是如此。面对windows,dos自然退休了。来吧,一起走进来吧。

    别害怕新事物,2010的界面都是经过无数次的测试才得到的。

    对于老用户,微软肯定不会放弃,你看看这个链接:http://office.microsoft.com/zh-cn/templates/CL101817133.aspx?tl=2

    office2010全系列产品与2003的菜单对照表。

    另外提供一种方式,就是按照自己的习惯,或2003的习惯自定义功能区的菜单按键。

    我们的MVP就有人这样做的,路径:【文件】【选项】【自定义功能区】


    梦想有多远,你就能走多远。
    说得也是。 最开始用Office 2007的时候,觉得菜单很不方便,找都找不了。但是后来慢慢习惯,觉得从2007开始的布局还是很好的。现在用起了2010,偶尔用用2003,发现2003的菜单用起来非常不顺手。以及习惯了使用2010的界面了。
    All I ever wanted was to see you smiling
    2011年8月29日 2:04
  • 抱歉,开发代码编程方面不是很了解。您可以到其他版块发布。谢谢。
    梦想有多远,你就能走多远。
    2011年8月31日 12:53
    版主