我有两个电子表格("Old“和"New")和一个VB脚本宏。宏在一个( "New“)中运行,对另一个("Old")的内容进行比较,然后将结果输出回”New“电子表格。
我想构建一个可执行文件,在其中输入两个文件名,然后单击run按钮来简化此过程。当前步骤需要打开这两个文件,然后将脚本剪切并粘贴到"New“的VB编辑器中,然后在那里运行它。我正在寻求关于我可以使用什么编程语言或工具在Windows XP中创建此应用程序以便在Excel2007中创建的电子表格上运行的建议。
我可以使用C#来编写一个简单的应用程序来实现这一点吗?
如果您能向我推荐有关编写C#应用程序与Excel进行交互的资源,我将不胜感激。
这是我第一次尝试编写与Excel交互的应用程序。也许这是不可能的。如果是这样的话,也请让我知道。
发布于 2010-02-03 05:56:08
为什么不创建一个名为"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它可以使用一些进一步的错误检查,比如确保用户没有选择取消或在文件对话框上按use,但它应该允许您在一个文件上创建一个按钮,并在用户选择的两个文件上运行该文件的比较。
编辑:我也是这么想的,你可以在Workbook_Open下的ThisWorkbook中添加一个对宏的调用,让它在有人打开Compare.Xls时自动运行。
发布于 2010-02-03 04:52:56
这是可能的。
这里有一些关于这个问题的很好的教程:
发布于 2010-02-03 13:36:06
我在Open office org中定义了宏,在那里我使用批处理文件从命令行执行宏。并使用C#执行批处理文件。使用ProcessStartInfo和Process类。您可能知道您可以在隐藏模式下运行批处理文件,也可以从输出流中获取结果(如果有的话)。
https://stackoverflow.com/questions/2187562
复制相似问题