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

这篇具有很好参考价值的文章主要介绍了C#调用vba程序以及传递C#中参数到VBA程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.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"的结果。文章来源地址https://www.toymoban.com/news/detail-503341.html

到了这里,关于C#调用vba程序以及传递C#中参数到VBA程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 概率论的学习和整理14: 概率发生变化的抽奖,如何计算概率?( 缺 VBA模拟部分)

    目录 1 问题:如果要考察的概率模型(抽奖)里,基础中奖概率一直在变化怎么办? 1.1 基础问题,抽奖抽中的概率会变化 1.2  概率稳定的老模型,有什么问题? 1.3 比如:构建这样的一个新模型 2 用excel 计算这些概率 2.1 不用几何分布,但是照样可以求第n次是第一次成功的概率

    2024年01月17日
    浏览(60)
  • VB 语言介绍以及VBA、宏(Macro)的关系

    1. 始祖 BASIC BASIC, Beginners’ All-purpose Symbolic Instruction Code,初学者通用符号指令代码。其目的是设计给初学者使用的程序设计语言。 BASIC是一门很古老的计算机语言,发表于1964年,由美国达特茅斯学院研发。BASIC代码通过BASIC解释器翻译为计算机能识别的机器指令,BASIC代码可

    2024年02月07日
    浏览(35)
  • python word中插入excel文件以图标显示(win32com调用vba代码)

    参考文章:(5条消息) python extension(pywin32) 插入宏到word_hit_liuanhuaming的专栏-CSDN博客   功能需求:在C:UsersuserDesktop20210408-1xxx.docx中插入xxx.xlsx文件以图标显示,如下图:   1.准备: 1)python模块安装: 2)word启用宏功能: 文件-选项 信任中心-信任中心设置 勾选信任对VBA工程对象模型

    2023年04月08日
    浏览(39)
  • 微信小程序 父组件调用子组件事件和传递参数

    一、使用场景 当每个页面都调用统一的组件时,传递的参数和方法都不尽相同,我们应该怎么样子传递给我们的子组件,让子组件获取相应的值或方法进行计算执行。 二、实现方式 1、父组件调用子组件的方法 2、父组件传递参数给子组件

    2024年02月11日
    浏览(70)
  • VBA:按照Excel工作表中的名称列自动汇总多个工作薄中对应sheet中所需要的数据

    需求如下: B列为产品名为合并单元格,C列为供应商名,G、H列为金额数据; 数据源放在同一个文件夹内,B列产品名来源于工作薄名称中间的字符串,C列供应商名来源于工作薄中的sheet名; G、H列金额数据来源于工作薄中sheet中固定单元格P25:Q25的数值; 根据B列产品名自动打

    2024年02月11日
    浏览(40)
  • 微信小程序post传递参数为formData格式,一般是在上传图片时需要的

    wx.uploadFile传参的格式本身就是formData格式的,参照官网就可以 如果是wx.request的需要formData格式,如下图data的格式

    2024年02月13日
    浏览(53)
  • python:使用RESTful API(flask)调用python程序传递参数,实现Web端调用python程序

    现有一个用python写的程序(或者是一个或几个的函数接口),需要在Web前端调用python写的函数。如果直接用前端java来调用会很不方便,而且会出现各种麻烦的问题,下面给出如何在web前端调用python的接口。 使用python的RESTful API库将python写的函数封装为Web端可调用的接口,在

    2024年01月20日
    浏览(44)
  • Word处理控件Aspose.Words功能演示:使用 C# 在 Word 文档中创建和修改 VBA 宏

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外, Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像

    2024年02月03日
    浏览(43)
  • 使用chatgpt写VBA程序操作EXCEL

    在chatgpt输入,我有个EXCEL,它有4列,第一列是序号,第二列是机号,第三列是日期,第四列是能耗。同一机号会对应多个日期和多个该日期的能耗。我想让同一个机号的数据下新增加一行,在这一行内算出该机号不同日期下的能耗平均值,填入表格,请帮我写VBA函数执行这个

    2024年02月19日
    浏览(36)
  • 微信小程序路由以及跳转页面传递参数

    路由 在app.json的pages里面写 \\\"pages/页面/页面\\\" 直接保存pages直接生成非常方便  跳转页面 wx.navigateTo() 保留当前页面,跳转到应用内的某个非tabBar页面。 text bindtap=\\\"daka\\\"点击/text 会保留返回箭头 底部导航跳转在app.json写入即可 传参以及接收参数 1、本地存储 使用方法:和js差不

    2024年02月11日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包