C# 如何为Excel宏过程创建可执行应用程序?

C# 如何为Excel宏过程创建可执行应用程序?,c#,excel,excel-2007,vba,C#,Excel,Excel 2007,Vba,我有两个新旧电子表格和一个VB脚本宏。宏以一个新的格式运行,对另一个旧格式的内容进行比较,然后将结果输出回新的电子表格 我想构建一个可执行文件,在其中输入两个文件名,然后单击run按钮以简化此过程。当前的过程需要打开这两个文件,然后将脚本剪切并粘贴到New的VB编辑器中,并在那里运行它。我正在寻找关于我可以使用什么编程语言或工具在WindowsXP中创建这个应用程序来运行Excel 2007中创建的电子表格的建议 我可以用C编写一个简单的应用程序来实现这一点吗 如果您能给我指一下有关编写C应用程

我有两个新旧电子表格和一个VB脚本宏。宏以一个新的格式运行,对另一个旧格式的内容进行比较,然后将结果输出回新的电子表格

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

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

如果您能给我指一下有关编写C应用程序与Excel交互的资源,我将不胜感激

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

这是可能的

以下是一些关于这个问题的好教程:


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

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
它可以使用一些进一步的错误检查,例如确保用户没有选择“取消”或在“文件”对话框中按escape,但它应该允许您在一个文件上创建一个按钮,并在两个用户选择的文件上运行该文件的比较


编辑:我也考虑过这个问题,你可以在工作簿的“打开”下添加对你的宏的调用,并让它在有人打开Compare.Xls时自动运行。

我在Open office org中定义了宏,在那里我使用批处理文件从命令行执行宏。 批处理文件是用C语言执行的。 使用ProcessStartInfo和Process类。 你可能知道
你可以在隐藏的模式下运行批处理文件,如果从输出流中得到任何结果,也可以返回结果。

也许你可以考虑将新的写为Excel模板,在实例化上运行一个宏,它打开旧的、比较和保存到新文档。

您还可以考虑使用旧的模板或编写新的模板COMPARIE.XLT,如另一个答案中所建议的。