C#调用vba程序以及传递C#中参数到VBA程序

news/2024/7/21 3:49:29 标签: c#, microsoft, excel

一.C#部分:
1.需要引用的库:
using Microsoft.Office.Interop.Excel

2.C#中新建excel对象:
using Excel=Microsoft.Office.Interop.Excel;
Excel.Application xapp=new Excel.Application();
//打开vba程序所在的excel
string path=@“C:\User\Desktop\test.xlsm”;
Excel.Workbook wb=xapp.Workbooks.Open(path);
//下一步直接可以运行“test.xlsm"中的宏了,如果这个宏名为”test",直接这样就可以:
xapp.Run(“test”)
完整代码:
` string path = @“C:\Users\Nesus\Desktop\test.xlsm”;
Excel.Application xapp=new Excel.Application();
Excel.Workbook wb=xapp.Workbooks.Open(path);
xapp.Run(“test”);

如果要传递C#中的参数到VBA中,只需要在xapp.Run中加一个参数就行了,
比如,要传递一个字符串s进去:
string s=“student”;
xapp.Run(“test”, s);
那么在运行VBA程序时,就会引用s。

二.VBA部分
1.不需要传递参数的情况:
Sub test
msgbox(“test”)
End Sub
2.需要传递参数进去:
Sub test(Byval stu as string)
msgbox(“test” & stu)
End sub
在运行C#代码xapp.Run(“test”, s)时,会定位到这个叫“test"的宏,然后引用 s="student"的这个字符串,最终输出 “test student"的结果。


http://www.niftyadmin.cn/n/116904.html

相关文章

Simple_SSTI_2

Simple_SSTI_2前言一、python类的内置属性二、解题步骤1.查看当前目录2. 打开flag文件得到flag前言 要想做到这个题,先要了解SSTI_2模板注入详解 一、python类的内置属性 先看如下一段代码: class Restaurant:"""类"""def…

CentOS使用yum安装指定版本的nginx

CentOS使用yum安装指定版本的nginx https://blog.csdn.net/uhda_fd_6_13dff/article/details/124497214 使用yum安装的nginx会自动安装到/etc 目录下,配置信息写在: /etc/nginx/conf.d/default.conf启动nginx服务的几种方法 1、直接输入nginx nginx 不加…

人机交互设计概述

人机交互的软件工程实践 1.人机交互设计概述 交互设计视图提高产品或系统的可用性和用户体验。他首先研究、了解某类用户的需求,然后再通过设计来满足用户的需求。随着产品和操作变得越来越复杂,越需要用户掌握新技能,因此设计师对如何能帮…

华为云:基于AppCube零代码开发微信小程序

写在前面 分享一个华为云开发微信小程序产品 AppCube通过 AppCube 可以基于零代码或者低代码开发微信小程序免费版支持试用,可以一键发布分享。免费版支持最多9个用户使用。如果是小团队,赶快来褥羊毛吧博文内容为:免费版试用教程&#xff0c…

2023年全国最新工会考试精选真题及答案11

百分百题库提供工会考试试题、工会考试预测题、工会考试真题、工会证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 61.工会应帮助和指导()签订劳动合同。代表()与企业协商确定…

牛客刷题笔记(1)

第一题 T b(5) 1个 T c[6] 6个 引用不是创建 T eb 正常声明和赋值 T *p new T(4) new()只能一个 注释 假如T *p new T[4] 是4个 假如T ec 由于c是6个 所以e也是5个个 第二题 有序和无序的区别 有序:始终定义第一个元素为有序的,将元素逐个插入到…

数据结构与算法1

本章主要是认识复杂度与简单排序算法。 1.数组和链表的区别 2.常数操作&#xff1a;与数据量无关的操作 3.时间复杂度 4.额外空间复杂度&#xff0c;参考时间复杂度 提取出多位中最右侧的1&#xff1a; a&(~a1) 5.简单排序 #include<iostream>class sort { public…

边界无限入选首届“网络安全高成长性企业”并荣获“勇创之星”

近日&#xff0c;由工业和信息化部、四川省人民政府主办的“2023年中国网络和数据安全产业高峰论坛网络安全产融合作分论坛”在成都举行&#xff0c;论坛上公布了“2022年度网络安全高成长性企业”名单。云原生安全、应用安全“灵动智御”理念创领者北京边界无限科技有限公司&a…