作者:绿色风
分类:
时间:2022-08-18
浏览:180
楼主 amulee |
之前,我写过一篇如何创建VSTO程序的例子,见下贴 [VSTO] 利用VSTO制作一个简单的Excel程序 http://www.exceltip.net/thread-21546-1-1.html
这里再来介绍一下如何利用VSTO给单元格赋值。
在功能区制作一个按钮,代码如下:
- Imports Microsoft.Office.Tools.Ribbon
- Public Class Ribbon1
- '定义wb变量为本工作簿
- Dim wb As ThisWorkbook
- 'Ribbon加载时运行
- Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load
- 'wb变量绑定为当前工作簿
- wb = Globals.ThisWorkbook
- End Sub
- '按钮单击事件
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button1.Click
- '定义变量
- Dim Sht As Microsoft.Office.Interop.Excel.Worksheet
- Dim Rng1 As Microsoft.Office.Interop.Excel.Range
- Dim Rng2 As Microsoft.Office.Interop.Excel.Range
- 'sht为活动工作表
- Sht = wb.ActiveSheet
- 'rng1和rng2为A1和A2单元格
- Rng1 = Sht.Range("A1")
- Rng2 = Sht.Range("A2")
- '给单元格赋值
- Rng1.Value = "这是一个按钮生成的值"
- Rng2.Value = "当前工作表为:" & Sht.Name
- End Sub
- End Class
可以看见,这里对象的赋值不再需要SET语句,另外Thisworkbook可以直接用作一个变量类型。 绑定该工作簿需要用到Globals.ThisWorkbook worksheet对象和Range对象的定义和vba中有些不同。不必担心记不住那么长的类型,VS可以完成自动输入。
其余的语法及对象属性和VBA中一致。
需要注意的是VSTO中许多对象模型和VBA中有略微不同。
运行效果如动画:
利用VSTO给单元格赋值.rar |
2楼 wise |
这个例子太好了,比较适合我们这些刚入门的。 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一