作者:绿色风
分类:
时间:2022-08-18
浏览:121
楼主 wise |
VSTO开发对于很多VBA爱好者而言,神秘而又怕,但又想利用其开发插件。目前市面上有关于VSTO开发的书很少,而网上相关的资料也特别少,本文从初学者出发,一点一滴地介绍如何从VBA转上VSTO开发。 1、如何创建新的工作簿:
- Sub CreateWorkbook()
- '创建新的工作簿
- Dim newWorkbook As Excel.Workbook = Me.Application.Workbooks.Add()
- End Sub
在本例子中,主要通过定义一个newWorkbook的Excel工作簿变量,然后通过Me.Application.Workbooks.Add() 进行创建工作簿。这和VBA的中创建工作簿有点差异。 2、如何打开工作簿: 例如:需要打开D盘中的“疑难18.xlsx“工作簿,使用的VSTO代码为:
- Sub OpenWorkbook()
- '打开工作簿
- Me.Application.Workbooks.Open("D\疑难18.xlsx")
- End Sub
其与VBA中的语法差异不大,主要是前面加了Me.Application |
2楼 wise |
3、如何关闭当前活动的工作簿,其VSTO代码如下: 对于当前工作簿而言,必须使用Globals.ThisWorkbook.Close来进行关闭。 而对于活动的工作簿,因为为当前代码的窗口,所以其可以使用Me.Application.ActiveWorkbook.Close进行关闭。 对于特定的工作簿,则可以根据工作簿名称进行来关闭,例如本例中的:Me.Application.Workbooks("VBA过渡到VSTO.xlsx").Close- Sub CloseWorkbook()
- '关闭当前工作簿
- Globals.ThisWorkbook.Close(saveChanges:=False)
- '关闭当前工作簿
- Me.Application.ActiveWorkbook.Close(SaveChanges:=False)
- '关闭某工作簿
- Me.Application.Workbooks("VBA过渡到VSTO.xlsx").Close(SaveChanges:=False)
- End Sub
|
3楼 wise |
4、如何保存当前工作簿,其VSTO代码为:- Sub SaveWorkbook()
- '保存当前工作簿
- Me.Application.ActiveWorkbook.Save()
- '保存到某路径
- Me.Application.ActiveWorkbook.SaveAs("D:\疑难18.xlsx")
- End Sub
在本代码中,保存当前工作簿的代码与常规的VBA的代码差异不大,为ActiveWorkbook.Save 保存到某路径,其代码为:ActiveWorkbook.SaveAs("D:\疑难18.xlsx") |
4楼 wise |
5、如何激活工作表:- Sub ActiveWorkbook1()
- '激活工作表
- Me.Application.Workbooks(1).Activate()
- End Sub
- Sub Activeworkbook3()
- Globals.ThisWorkbook.Activate()
- End Sub
一个是基于当前工作表模块对工作簿进行激活,一个是基于当前工作簿进行激活。 |
5楼 wise |
6、如何设置密码,其VSTO程序如下:
- Public Class ThisWorkbook
- Private Sub ThisWorkbook_Startup() Handles Me.Startup
- Call SetPassword()
- End Sub
- Sub SetPassword()
- Dim mypassword As String
- Dim confirPassword As String
- mypassword = Me.Application.InputBox("请输入密码:").ToString()
- 'ToString()返回表示当前对象的字符串
- confirPassword = Me.Application.InputBox("请重复输入密码:").ToString()
- If mypassword <> confirPassword Then
- MessageBox.Show("密码不符合")
- Globals.ThisWorkbook.Password = ""
- Else
- Globals.ThisWorkbook.Password = mypassword
- End If
- End Sub
- End Class
此处与VBA差异点是:- Me.Application.InputBox("请输入密码:").ToString()
VBA的是- Inputbox("请输入密码:")
此处在学习的时候需要注意到。 ToString 是 .NET Framework 中主要的格式化方法。 它将对象转换为其字符串表现形式,使它适合于显示。 Object.ToString 方法:返回表示当前对象的字符串。 |
6楼 wqfzqgk |
|
7楼 nzkboy |
太牛了,希望多出点类似的文章呀,我也好尽快上手vsto |
8楼 1574533899 |
太牛了,希望多出点类似的文章呀,我也好尽快上手vsto |
9楼 minren118 |
vsto还没了解过,多多学习才行 |
10楼 铁马冰河_定制EX |
我用VSTO新建了一个表,并且加了密码,并保存。在D盘能找到这个表,可是双击,却打不开。回到VSTO中,用代码打开,完全正常。为什么呢? |
11楼 ak1285064879 |
|
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一