VBA VS. VSTO有什么区别,我应该升级吗?

2024-01-03

我是 KISS 原则(保持简单)的忠实粉丝,并且是 excel VBA 的长期用户。然而,我能找到的所有关于 VBA 与 VSTO(Visual Studio Tools for Office)的文章似乎都非常复杂。

首先,我厌倦了 Excel 内置的非常差的 IDE,我正在寻找一个新的。使用 Visual Studio 作为 IDE 的 VSTO 似乎是唯一的选择。

因此,我试图了解 VBA 和 VSTO 之间的区别,以了解是否值得我学习使用 VSTO?


您使用哪种工具集很大程度上取决于个人喜好,但需要考虑以下事项:
1. 性能:对于大多数与 Excel 相关的任务,由于附加的互操作层,VSTO 与 VBA 相比执行速度非常慢。
2. UDF:VSTO不支持UDF
3. 对象模型:使用 VSTO 处理 Excel 对象模型比使用 VBA 更困难,因为没有 .NET 宏记录器可以给您提示。
4. IDE:通过 VSTO,您可以访问最新的 Visual Studio IDE(假设您有 Visual Studio 许可证)
5. .Net Framework:VSTO使您可以访问非常丰富和强大的.NET框架
6. 学习曲线:VB.NET 是一种与 VBA 不同的语言,.NET 框架和对象模型的差异意味着过渡并不那么简单。
7. 如果您想走 Visual Studio/.NET 路线,我建议您查看 Addin Express 或 XLDNA,而不是 VSTO:这两种方式的限制都比 VSTO 少

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VBA VS. VSTO有什么区别,我应该升级吗? 的相关文章

  • 使用VBA删除Excel中的非重复数据

    我尝试删除非重复数据并保留重复数据 我已经完成了一些编码 但什么也没发生 哦 这是错误 哈哈 这是我的代码 Sub mukjizat2 Dim desc As String Dim sapnbr As Variant Dim shortDe
  • 将单元格背景颜色设置为其包含的 RGB 值。如何?

    下面是我希望通过手动复制和粘贴以外的方式实现的屏幕截图 这是材料设计调色板 在 Excel 中看起来很棒 如何循环遍历范围 B2 B15 并将每个单元格背景颜色设置为其相应的包含颜色 也许是一个VBA loop去经历垂直 B 单元格范围 解
  • 通过 VBA MS_Access 将 MS Access 表导出为 dBase 5

    如何通过 VBA 将单个表导出为 dBase 5 文件 目前我正在使用这个VBA代码 DoCmd TransferDatabase acExport dBase IV DB Total acTable DB Total C Data Fal
  • 使用 SpreadsheetLight 进行行计数

    我正在寻找一个类似于 DataTable Rows Count 的函数 它可以与 SLDocument 一起使用来找出有多少行中有数据 SpreadsheetLight 中有可用的东西吗 还有其他方法可以实现这一目标吗 Brendan SL
  • Excel宏-将逗号分隔的条目拆分为新行[重复]

    这个问题在这里已经有答案了 我目前在一张纸上有这些数据 Col A Col B Col C 1 A angry birds gaming 2 B nirvana rock band 我想要做的是将第三列中的逗号分隔条目拆分并插入新行 如下所
  • 连续工作表切换循环

    我有一个 Excel 电子表格来显示 SQL 数据图表 这些图表将显示在我们机加工车间的显示器上 该电子表格有 45 个选项卡 我需要在选项卡之间切换 每个选项卡间隔 10 秒 然后返回到第一个选项卡并重复循环 I found 如何使用 V
  • 如何保留每个单元格中合并单元格的值?

    我创建了一个包含合并单元格的工作表 但合并单元格的值仅存储在第一个单元格中 无论如何 为了在每个单元格中保持相同的值 我使用的公式需要它 谢谢 在 Excel 2003 中 此宏执行以下任务 Public Sub UnmergeAndFil
  • 如何使用 pandas.to_excel() 创建 Excel **表格**?

    Need the achieve this programmatically from a dataframe https learn microsoft com en us power bi service admin troublesh
  • VBA C# DLL 未注册

    我制作了一个 C NET dll 我想从 VBA 运行它而不注册它 我找到了解决方案there https stackoverflow com a 13333819并且它可以完美工作 但前提是程序集是使用 Framework NET 3 5
  • Excel:包括过滤器中的第一行

    我正在特别考虑 Excel VBA 的 AutoFilter 方法 但我认为我的问题也适用于 GUI 当我将筛选器应用于 Excel 工作表时 未选择任何内容 筛选器将应用于所有行从第二次开始 有什么方法可以包含第一行 以便它也可以被过滤掉
  • 如何将多个 Excel 工作表转换为 csv python

    我想转换所有的excel文档 xls 将工作表转换为 csv 如果 excel 文档只有一张工作表 那么我将进行如下转换 wb open workbook path1 sh wb sheet by name Sheet1 csv file
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • 在 Django(Python) 中向用户提供 Excel(xlsx) 文件下载

    我正在尝试使用 Django 创建和提供 Excel 文件 我有一个 jar 文件 它获取参数并根据参数生成 excel 文件 并且它可以正常工作 但是 当我尝试获取生成的文件并将其提供给用户下载时 文件损坏了 它的大小为 0kb 这是我用
  • 查询从同一表中的另一条记录获取值并按大于间隙阈值的差异进行过滤

    我将数据导入到 MS Access 中的临时表中 如下所示 我添加了需要使用 SQL 查询计算的 Gap 和 Previous Current 列 间隙阈值 是用户输入或范围提供给查询和例如是 300 GlobalID 对 ItemID 进
  • Excel 中使用通配符 {*} 进行 Vlookup

    我有下表 现在 我想检查主题是否具有数据中存在的任何文本 col F I used VLOOKUP A2 F F 1 0 但它正在给予 N A Try 公式为B2 SUM COUNTIF A2 F 2 F 3 gt 0 Edit SUM C
  • 如何暂停特定时间? (Excel/VBA)

    我有一个 Excel 工作表 其中包含以下宏 我想每秒循环一次 但如果我能找到执行此操作的函数 那就很危险了 难道不可能吗 Sub Macro1 Macro1 Macro Do Calculate Here I want to wait f
  • 二维数组作为字典的项目

    我想用一个项目的几个属性填充字典 例子 我正在考虑拥有Item 1 and Item 2 as Dictionary键与array这将保留其属性 我需要能够单独访问项目的每个属性 因此将它们连接为一个字符串不是一种选择 我正在考虑类似下面的
  • Excel VBA 用户窗体 - 当发生变化时执行 Sub

    我有一个包含很多文本框的用户表单 当这些文本框的值发生变化时 我需要通过调用子例程 AutoCalc 根据文本框值重新计算最终结果值 我有大约 25 个框 我不想向每个调用上述子例程的文本框单独添加 Change 事件 当某些值发生变化时调
  • 导入到 SQL Server 时忽略 Excel 文件中的列

    我有多个具有相同格式的 Excel 文件 我需要将它们导入 SQL Server 我当前遇到的问题是 有两个文本列我需要完全忽略 因为它们是自由文本 并且某些行的字符长度超出了服务器允许我导入的长度 这会导致截断错误 因为我的分析不需要这些
  • 如果一个数字写在方括号中,例如[5],这意味着什么

    我正在开发一个旧版 VBA Excel 应用程序 并偶然发现了一些代码行 其中长字符串 从文件中读取 被切成碎片 这些行看起来像这样 Range E16 Value Mid line 49 6 显然 写 6 意味着需要 6 个字符 但我从未

随机推荐

  • 尝试将实体映射到 DTO 对象时 ModelMapper 返回 NULL

    这是我尝试映射的对象的类 package com agent module entities import java util Set import javax persistence Entity import javax persist
  • 在 C# 应用程序中嵌入 Excel 的最佳方法是什么 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想将 MS Excel 嵌入到我的 wpf C 应用程序中的选项卡式视图中 以便用户可以利用真正的 MS Excel 不是克隆 轻松
  • 创建多页 PDF

    我需要实现创建包含多页文本的 pdf 的功能 class PDFCreator func prepareData gt Data 1 let pdfMetaData kCGPDFContextCreator PDF Creator kCGP
  • python 脚本完成后保持 Selenium 浏览器打开

    我正在开发一个硒项目 但每次脚本结束时 窗口都会自动关闭 不过 在脚本关闭后 我想保持窗口打开 我用谷歌搜索了这个 stackoverflow 说使用以下代码来保持它打开 chrome options webdriver ChromeOpt
  • Groovy 从 URL 下载图像

    我想知道从该 RUL 下载图像的正确方法是什么 http www hidemyass com proxy list img port 7018246 1 http www hidemyass com proxy list img port
  • 浏览速度取决于浏览器吗?

    浏览速度取决于浏览器 如IE firefox 吗 如果取决于浏览器 哪种浏览器最好并且运行速度最快 如果我们清除浏览器的缓存 会不会降低浏览速度 thanks 是的 这取决于浏览器 不仅是哪个浏览器 还有它的配置 有很多东西在不同的浏览器中
  • error_log 与包含的文件位于同一目录中吗?

    我研究了不同的方法和指令 包括 自动前置文件 user ini 文件 getcwd 调试回溯 我似乎找不到一种方法来更改 error log 的路径以登录与包含 需要的文件相同的路径 例如 假设 index php 有以下行 include
  • 使用 Alembic 时导入应用程序会引发 ImportError

    我正在尝试研究如何在 Flask 中使用 alembic 我想在 Flask 应用程序中导入一个方法 tree README md alembic README env py env pyc script py mako versions
  • 删除 uiwindow 的子视图?

    我想从 uiwindow 中删除一个视图 所以我在 appdelegate 方法中 nslog 它说窗口的子视图计为两个NSLog d self window subviews count 那么我如何从窗口中删除该子视图 如果我删除该子视图
  • Anaconda 安装卡在解压:anaconda-2020.02-py37_0.tar.bz2?

    我是Python新手 我正在我的 Windows 7 笔记本电脑上安装 Anaconda 3 2020 02 64 位 它卡在文件名 anaconda 2020 02 py37 tar bz2 处 我尝试了多次 但每次都会发生 我刚刚做完
  • 是否有稳定且生产质量的 nosql 数据存储?

    是否有可以在生产系统上使用的生产质量 nosql 存储 我看过 cassandra tokyodb couchdb 等 但它们似乎都没有准备好在生产环境中进行部署 我说的是每分钟数千个请求和大量的读 写 更新 我唯一关心的是速度和服务时间
  • 您测试 iPhone / iPad 应用程序的方法是什么?

    在为 iPhone iPad 开发时 您会 进行单元 集成 等测试 您使用什么框架 您还尝试过哪些其他框架 如果您决定不使用它们 为什么不呢 NOTE这是基于一个几天前提出的问题 https stackoverflow com questi
  • 如何将 SQLite 文件中的更改迁移到现有应用程序中?

    我已经提交了一个 iOS 应用程序SQLite数据库文件用于在应用程序内存储数据 现在 在应用程序的下一个版本中 我对数据库文件进行了一些修改 Like 添加了新表 1 个空表 2 个包含固定数据 在表中添加了新列 从表中删除现有列 什么
  • 是否可以在 webview 中打开 sdcard/cache 中存储的 pdf 文件?

    我正在我的应用程序中下载 PDF 文件并希望允许用户查看它 是否有可能使用 webview 我可以显示下载到 SD 卡或本地内存的 pdf 文件 据我所知 有一种解决方法 我可以将 pdf 文件的链接提供到 google url 这将在 w
  • 扭曲意外连接丢失

    我使用 Python Twisted 编写了一个 TCP 服务器 用于从客户端发送 接收二进制数据 当客户关闭其应用程序或调用abortConnection方法 我得到connectionLost事件正常 但当客户端意外断开连接时 我没有收
  • Node.js 模块是否需要包装在模块模式中?

    为了确保适当的隔离 我倾向于将我编写的每个 node js 模块包装在函数范围内 function var express require express var jade require jade var moment require m
  • Spring MVC:无法反序列化 START_ARRAY 令牌之外的实例

    我已经为此绞尽脑汁有一段时间了 但仍然没有快乐 我是 Spring 新手 确实需要一些帮助 我正在尝试使用 Spring Boot 从数据库表返回代码列表 当我从浏览器中的 URL 调用 REST 控制器时 示例网址 本地主机 8081 c
  • unity3d如何更改实例化预制件的颜色

    在统一中 我有一个预制件 我想实例化它并将实例化预制件的颜色更改为黑色 预制件的默认颜色为黄色 我的目标是将颜色更改为随机颜色 但现在它只是黑色 稍后我会制作随机颜色 但有一个问题 颜色没有改变 我检查了互联网上的一些解决方案 但没有一个适
  • 如何在 Jekyll 中从 Liquid 块生成文件?

    我正在写一个plugin https gist github com 3469301定义了一个新的 Jekyll 块ditaa 块中的任何内容都应从迪塔标记 http ditaa sourceforge net 到图像文件 并将该图像插入帖
  • VBA VS. VSTO有什么区别,我应该升级吗?

    我是 KISS 原则 保持简单 的忠实粉丝 并且是 excel VBA 的长期用户 然而 我能找到的所有关于 VBA 与 VSTO Visual Studio Tools for Office 的文章似乎都非常复杂 首先 我厌倦了 Exce