VBA Excel 中的多线程

标签 multithreading vba excel

如何在 VBA 中编写代码以获得多线程解析?

我看过this tutorial ,但它不起作用。

我有 10000 个站点,每个站点位于 A 列的一行中。我需要至少 10 个并发线程来解析标签之间的信息 <div></div> ,取标签<a>rel="external"来自每个站点上的index.php,然后将结果保存到B列中的每一行。

最佳答案

您可以在 VBA 中使用多线程,但不能在 native 中使用多线程。但是,在 VBA 中实现多线程有多种可能性:

  1. C#.NET COM/dlls - 在 C#.NET 中创建 COM/dll,它允许您自由创建线程并像其他外部库一样从 VBA 引用它。请参阅我的帖子:here 。 另请参阅有关从 VBA 中引用 C# 方法的 Stackoverflow 帖子:Using a C# dll inside EXCEL VBA
  2. VBscript 工作线程 - 将您的算法划分为所需线程数量的 VBscript,并从 VBA 执行它们。 VBscript 可以通过 VBA 自动创建。请参阅我的帖子:here
  3. VBA 工作线程 - 根据需要多次复制 Excel 工作簿,并通过 VBA 中的 VBscript 执行它们。 VBscript 可以通过 VBA 自动创建。请参阅我的帖子:here

我分析了所有这些方法,并对优缺点和一些性能指标进行了比较。您可以在这里找到整篇文章:

http://analystcave.com/excel-multithreading-vba-vs-vbscript-vs-c-net/

关于VBA Excel 中的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19159025/

相关文章:

excel - 删除连续的ROWs EXCEL VBA

multithreading - DirectX在其他线程中绘制

c++ - 线程函数无法从堆上分配的缓冲区中读取字符

c# - 我应该编写 Access 前端还是 C# 前端?

vba - 为什么 0 除以 0 会在 VBA 中引发溢出错误?

excel - 如何使用Excel宏模块格式化Excel电子表格单元格?

c# - 加载多个动态服务及其依赖服务的最佳实践

c# - FormClosing事件中的Application.DoEvents

sql - 在 Access VBA 中更新 Excel Application.StatusBar

excel - 使用 Delphi 的 OleObject 在 Office 365 和 Office 2013 中的工作方式不同