首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为Excel宏程序创建可执行应用程序?

如何为Excel宏程序创建可执行应用程序?
EN

Stack Overflow用户
提问于 2010-02-03 04:47:04
回答 4查看 2.9K关注 0票数 3

我有两个电子表格("Old“和"New")和一个VB脚本宏。宏在一个( "New“)中运行,对另一个("Old")的内容进行比较,然后将结果输出回”New“电子表格。

我想构建一个可执行文件,在其中输入两个文件名,然后单击run按钮来简化此过程。当前步骤需要打开这两个文件,然后将脚本剪切并粘贴到"New“的VB编辑器中,然后在那里运行它。我正在寻求关于我可以使用什么编程语言或工具在Windows XP中创建此应用程序以便在Excel2007中创建的电子表格上运行的建议。

我可以使用C#来编写一个简单的应用程序来实现这一点吗?

如果您能向我推荐有关编写C#应用程序与Excel进行交互的资源,我将不胜感激。

这是我第一次尝试编写与Excel交互的应用程序。也许这是不可能的。如果是这样的话,也请让我知道。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-03 05:56:08

为什么不创建一个名为"Compare.Xls“的excel文件,它将使用以下代码来允许用户选择文件并对其运行比较

代码语言:javascript
复制
Dim fd As FileDialog
Dim sOldFile As String
Dim sNewFile As String

Set fd = Application.FileDialog(msoFileDialogOpen)

  fd.AllowMultiSelect = False

  MsgBox "Please Select the Old File"
  fd.Show
  Workbooks.Open fd.SelectedItems(1)
  sOldFile = ActiveWorkbook.Name

  MsgBox "Please Select the New File"
  fd.Show
  Workbooks.Open fd.SelectedItems(1)
  sNewFile = ActiveWorkbook.Name

它可以使用一些进一步的错误检查,比如确保用户没有选择取消或在文件对话框上按use,但它应该允许您在一个文件上创建一个按钮,并在用户选择的两个文件上运行该文件的比较。

编辑:我也是这么想的,你可以在Workbook_Open下的ThisWorkbook中添加一个对宏的调用,让它在有人打开Compare.Xls时自动运行。

票数 1
EN

Stack Overflow用户

发布于 2010-02-03 04:52:56

这是可能的。

这里有一些关于这个问题的很好的教程:

  1. http://www.eggheadcafe.com/articles/create_macro_at_runtime_in_dotnet.asp
  2. http://support.microsoft.com/kb/306683
票数 0
EN

Stack Overflow用户

发布于 2010-02-03 13:36:06

我在Open office org中定义了宏,在那里我使用批处理文件从命令行执行宏。并使用C#执行批处理文件。使用ProcessStartInfo和Process类。您可能知道您可以在隐藏模式下运行批处理文件,也可以从输出流中获取结果(如果有的话)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2187562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档