Word Addin项目中禁用Word文档功能区按钮的多个实例

时间:2015-09-15 07:04:52

标签: c# asp.net-mvc ms-word office-addins ribbon-control

我的任务是从给定的word文档创建一个新文档,然后我只需要在新创建的Word文档功能区中禁用自定义功能区按钮。这里不考虑活动文档,因为当用户切换它时它会切换。

目前我无法从C#代码中获取新的Word实例功能区控件。当我申请以下时,这两份文件都会受到影响。

CustomRibbon ribbon = Globals.Ribbons.CustomRibbon;
ribbon.button.Enabled = false;

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效,你必须找到一种识别文件的方法

protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if(savedInstanceState==null){
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.dlHomepageSpace, HomepageFragment.newInstance(mLanguage), HOMEPAGE_BUTTONS_TAG);
        fragmentTransaction.commit();
    }

    mSearchState = SearchState.NOSEARCH;

    mBottomToolbar = (Toolbar) findViewById(R.id.bottomToolbar);
    mBottomToolbar.inflateMenu(R.menu.bottom_toolbar);

    // Here we set the search view toolbar functions
    if(mBottomToolbar.getMenu().size() > 0){

        SearchManager searchManager = (SearchManager) HomepageActivity.this.getSystemService(Context.SEARCH_SERVICE);
        MenuItem searchMenuItem = mBottomToolbar.getMenu().getItem(mBottomToolbar.getMenu().size()-1);
        mSearchView = (SearchView) searchMenuItem.getActionView();
        if (mSearchView != null) {
            mSearchView.setSearchableInfo(searchManager.getSearchableInfo(HomepageActivity.this.getComponentName()));
        }

        mSearchView.setOnCloseListener(new OnCloseListener() {

            @Override
            public boolean onClose() {
                Log.d(TAG, "onClose");
                   mBottomToolbar.getMenu().getItem(mBottomToolbar.getMenu().size()-1).collapseActionView();
                switchToFab();
                return false;
            }
        });

        MenuItemCompat.setOnActionExpandListener(searchMenuItem, new       MenuItemCompat.OnActionExpandListener() {

            @Override
            public boolean onMenuItemActionExpand(MenuItem item) {
                Log.d(TAG, "onMenuItemActionExpand");
                return true; // KEEP IT TO TRUE OR IT DOESN'T OPEN !!
            }

            @Override
            public boolean onMenuItemActionCollapse(MenuItem item) {
                Log.d(TAG, "onMenuItemActionCollapse");
                switchToFab();
                return true;
            }
        });
    }

}

@Override
    protected void onNewIntent(Intent intent) {
    Log.d(TAG, "onNewIntent");
    if(isSearchAction(intent)){

        ArrayList<Detail> list = (ArrayList<Detail>) getListData(intent.getStringExtra(SearchManager.QUERY));

        if(list.isEmpty()){
                Toast.makeText(this, R.string.no_search_results_en, Toast.LENGTH_LONG).show();

            }
        } else {

            ExtendedListFragment searchFragment = (ExtendedListFragment) getSupportFragmentManager().findFragmentByTag(HOMEPAGE_SEARCH_TAG);
            mResultsList = list;
            mSearchState = SearchState.SEARCH_LIST_SCREEN;

            if(searchFragment==null){
                FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
                fragmentTransaction.addToBackStack(null);

                fragmentTransaction.replace(R.id.dlHomepageSpace, ExtendedListFragment.newInstance(list), HOMEPAGE_SEARCH_TAG);
                fragmentTransaction.commit();
            } else {
                searchFragment.setDetailList(list);
            }
        }
    }
}

private boolean isSearchAction(Intent intent) {
    Log.d(TAG, "handleIntent");
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        Log.d(TAG, "ACTION_SEARCH");
        return true;
    }
    return false;
}