ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > VSTO > VSTO给单元格赋值

VSTO给单元格赋值

作者:绿色风 分类: 时间:2022-08-18 浏览:180
楼主
amulee
之前,我写过一篇如何创建VSTO程序的例子,见下贴
[VSTO] 利用VSTO制作一个简单的Excel程序 http://www.exceltip.net/thread-21546-1-1.html


这里再来介绍一下如何利用VSTO给单元格赋值。

在功能区制作一个按钮,代码如下:
  1. Imports Microsoft.Office.Tools.Ribbon

  2. Public Class Ribbon1
  3.     '定义wb变量为本工作簿
  4.     Dim wb As ThisWorkbook
  5.     'Ribbon加载时运行
  6.     Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load
  7.         'wb变量绑定为当前工作簿
  8.         wb = Globals.ThisWorkbook
  9.     End Sub
  10.     '按钮单击事件
  11.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button1.Click
  12.         '定义变量
  13.         Dim Sht As Microsoft.Office.Interop.Excel.Worksheet
  14.         Dim Rng1 As Microsoft.Office.Interop.Excel.Range
  15.         Dim Rng2 As Microsoft.Office.Interop.Excel.Range
  16.         'sht为活动工作表
  17.         Sht = wb.ActiveSheet
  18.         'rng1和rng2为A1和A2单元格
  19.         Rng1 = Sht.Range("A1")
  20.         Rng2 = Sht.Range("A2")
  21.         '给单元格赋值
  22.         Rng1.Value = "这是一个按钮生成的值"
  23.         Rng2.Value = "当前工作表为:" & Sht.Name
  24.     End Sub
  25. 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总版主之一

评论列表
sitemap