C++/VBA/Excel
是这样的,我的毕业设计的题目是做一个基于Exel的学生成绩管理系统。主要是用C++写一个程序,而这个程序上有按钮可以通过VBA去调用Excel,进行数据的存储,我想想问问...
是这样的,我的毕业设计的题目是做一个基于Exel的学生成绩管理系统。主要是用C++写一个程序,而这个程序上有按钮可以通过VBA去调用Excel,进行数据的存储,我想想问问这个方案可行吗?我怎么查阅的文献和期刊都是侧重于写怎么用VBA去操作Excel进行数据的存储,但是他们做的好像不是一个实实在在的应用。。。
我现在有几个问题
1。所谓的VBA东西,能不能直接写出一个可视化的程序。。。
2。如果按照我上述的要求,用C++为主题编写一个可视化程序,怎么使用VBA去调用Excel,可行吗? 展开
我现在有几个问题
1。所谓的VBA东西,能不能直接写出一个可视化的程序。。。
2。如果按照我上述的要求,用C++为主题编写一个可视化程序,怎么使用VBA去调用Excel,可行吗? 展开
1个回答
2014-03-05 · 知道合伙人数码行家
stlily2008
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:627
获赞数:2806
大学本科毕业于桂林电子工业学院,硕士毕业于广东工业大学。在电力建设行业从事计算机管理及施工管理10多年
向TA提问 私信TA
关注
展开全部
我来回答你的第一个问题。
VBA,全称:Visual Basic for Application,是VB的一个子集,面向对象的编程语言。完全可以直接编写出一个可视化的程序。其编写方法和编写界面和 Visual Basic 几乎一样。但是这个程序必须要在 MS Office 的环境下运行。例如,在 Excel 或者在 Word 当中运行。
另外,要实现你的功能,通过C++可以直接操作Excel,进行数据操作,完全可以不用经过 VBA 。如果你用的是 VC++ ,那么通过 OLE/COM ,就可以轻松操作 Excel 文件了。简单描述如下:
1、添加OLE/COM支持
2、导入并封装Excel中的接口
3、导入Excel的整个类型库
4、操作Excel
4.1、创建一个Excel应用程序
4.2、获取Workbook的容器
4.3、打开或者创建一个Workbook
4.4、获取Worksheet的容器
4.5、打开或者创建一个Worksheet
4.6、通过Range对WorkSheet中的单元格进行读写操作
4.7、保存并关闭 Excel
第二个问题,无解。你可以通过C++调用Excel,而 Excel 本身就是VBA的载体,要在 Excel 上运行 VBA,不能反转。换句话说,在你这种情况下,要运行VBA,就必须先运行 Excel 。
VBA,全称:Visual Basic for Application,是VB的一个子集,面向对象的编程语言。完全可以直接编写出一个可视化的程序。其编写方法和编写界面和 Visual Basic 几乎一样。但是这个程序必须要在 MS Office 的环境下运行。例如,在 Excel 或者在 Word 当中运行。
另外,要实现你的功能,通过C++可以直接操作Excel,进行数据操作,完全可以不用经过 VBA 。如果你用的是 VC++ ,那么通过 OLE/COM ,就可以轻松操作 Excel 文件了。简单描述如下:
1、添加OLE/COM支持
2、导入并封装Excel中的接口
3、导入Excel的整个类型库
4、操作Excel
4.1、创建一个Excel应用程序
4.2、获取Workbook的容器
4.3、打开或者创建一个Workbook
4.4、获取Worksheet的容器
4.5、打开或者创建一个Worksheet
4.6、通过Range对WorkSheet中的单元格进行读写操作
4.7、保存并关闭 Excel
第二个问题,无解。你可以通过C++调用Excel,而 Excel 本身就是VBA的载体,要在 Excel 上运行 VBA,不能反转。换句话说,在你这种情况下,要运行VBA,就必须先运行 Excel 。
更多追问追答
追问
但是老师订的题目就是用VBA,他想要的最终的效果是这样的:打开自己写好的软件,会有下拉栏选择科目,选择好科目之后,就每行每行的输学生姓名、成绩啥的。。。每个科目都输好之后,会有几个可以操作的地方: 输入学生姓名,点击按钮,自动生成学生的总成绩单。。还不能用数据库来做,还有就是生成成绩单的时候,最好不是弹出Excel的表格,而是直接抓取那些数据,在软件的界面里实现。。。。我这么说不知道可行性怎么样
追答
那你就直接全部用VBA来做吧。
双击打开你的Excel文件,例如 MyPro.xls ,启动后立刻自动启动宏,弹出程序主界面,隐藏 Excel 界面。该主界面有你需要的所有控件。后台数据就存放到 MyPro.xls 中,通过VBA直接对 MyPro.xls 操作。结果显示到你的主界面中,或者其他子界面中。 Excel 界面始终隐藏。直到程序退出。
这样,完全抛开 C++ ,全部用 VBA 处理了。
如果老师一定要你用 C++ 调用,那么你就用 C++ 做一个主界面出来,这个C++程序就只调用 MyPro.xls ,然后,控制权交给 MyPro.xls。但是运行该C++ 程序的电脑上必须要安装了 Excel 。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询