背景:
我在Excel工作簿中编写了一大段VBA代码,以帮助处理大量重复工作。我发现使用“池”VBA编辑器维护和修改代码很痛苦。然后,我决定将这些VBA代码移动到C#解决方案,我想我可以从现代编辑器 - Visual Studio中受益。
问题:
虽然我对VBA知之甚少,但我对C#的了解甚少。因此,当我尝试将我的VBA代码“翻译”为C#时,我遇到了一些问题,这里有一个:
我为Excel创建了一个文档级解决方案。 我需要将一些文件(.cab,.exe)嵌入到解决方案中,因此当我运行一个方法(例如通过单击一个按钮)时,这些文件将被复制到文件系统,并完成一些工作。
在VBA中,我将这些文件嵌入到Excel工作簿中,然后我可以使用以下VBA代码将嵌入的对象复制到剪贴板:
Sheet1.OLEObjects("obj_cab").COpy
然后我可以使用以下VBA代码将对象粘贴到文件系统:
CreateObject("Shell.Application").Namespace("C:\Sample\").Self.InvokeVerb "Paste"
在C#解决方案中,我可以使用以下等效方法将嵌入对象复制到剪贴板:
Microsoft.Office.Interop.Excel.OLEObject OLEobj = (Microsoft.Office.Interop.Excel.OLEObject)sheet1.OLEObjects("obj_cab");
OLEobj.Copy();
然后我卡在这里,我不知道如何从剪贴板中获取此对象并将其放入文件系统。 C#中不存在'CreateObject'方法。
任何人都可以提供帮助?是嵌入这些文件的更好方法还是将这些对象(文件)从剪贴板粘贴到文件系统的工作方式?
非常感谢!