ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > VSTO > 利用VSTO使工作表和功能区按钮实现同步并交互

利用VSTO使工作表和功能区按钮实现同步并交互

作者:绿色风 分类: 时间:2022-08-18 浏览:123
楼主
amulee
本例介绍如何模拟字体倾斜的按钮
通过本例可以学习到功能区如何与工作表进行同步并交互处理的。

操作步骤:
1、首先绘制了一个自定义的Toggle按钮图片用作斜体按钮。(参见[VSTO] 利用VSTO给控件画一个图片 http://www.exceltip.net/thread-22356-1-1.html

2、添加一个模块,输入以下代码:
  1. Module Module1
  2.     '定义Application对象
  3.     Public APP As Microsoft.Office.Interop.Excel.Application
  4. End Module

3、在Thisworkbook.VB中添加以下代码,主要用于选择不同的按钮时改变ToggleButton的状态
  1. Public Class ThisWorkbook
  2.     '选择其他工作表时更改Button状态
  3.     Private Sub ThisWorkbook_SheetActivate(ByVal Sh As Object) Handles Me.SheetActivate
  4.         Globals.Ribbons.Ribbon1.ToggleButton1.Checked = APP.ActiveCell.Font.Italic
  5.     End Sub
  6.     '单元格选择时变换Button状态
  7.     Private Sub ThisWorkbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Microsoft.Office.Interop.Excel.Range) Handles Me.SheetSelectionChange
  8.         Globals.Ribbons.Ribbon1.ToggleButton1.Checked = APP.ActiveCell.Font.Italic
  9.     End Sub
  10.     '文件打开时设定Button状态
  11.     Private Sub ThisWorkbook_Startup() Handles Me.Startup
  12.         APP = ThisApplication
  13.         '设定Button状态
  14.         Globals.Ribbons.Ribbon1.ToggleButton1.Checked = APP.ActiveCell.Font.Italic
  15.     End Sub

  16.     Private Sub ThisWorkbook_Shutdown() Handles Me.Shutdown

  17.     End Sub

  18. End Class


4、在Ribbon中添加以下代码,用于点击ToggleButton时改变字体
  1. Imports Microsoft.Office.Tools.Ribbon

  2. Public Class Ribbon1

  3.     Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load

  4.     End Sub
  5.     '单机按钮时更改字体
  6.     Private Sub ToggleButton1_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles ToggleButton1.Click
  7.         If TypeName(APP.Selection) = "Range" Then
  8.             APP.Selection.Font.Italic = ToggleButton1.Checked
  9.         End If
  10.     End Sub
  11. End Class



利用VSTO使工作表和功能区按钮实现同步并交互.rar
2楼
亡者天下
VSTO一定要够狠VBA一起用吗?

怎么学习的几个帖子都是综合的啊?

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap