有人知道我如何使用Excel VBA打开SAS EG 7.1 egp文件吗?任何帮助将不胜感激。
答案 0 :(得分:1)
作为C#处理要容易得多。我必须在这里不同意Joe,但我认为VBA的任何部分都不是.NET:它是旧的COM代码。
让我看看如何处理:
private XDocument ReadZipFile(string testFile, bool writeFile)
{
var xd = new XDocument();
using (FileStream zipToOpen = new FileStream(testFile, FileMode.Open))
{
using (var archive = new ZipArchive(zipToOpen, ZipArchiveMode.Read))
{
var entry = archive.Entries.First(x => x.Name.ToLower() == "project.xml");
using (var sr = new StreamReader(entry.Open(), Encoding.UTF8))
{
var xmlFile = sr.ReadToEnd();
if (writeFile)
{
using (var sw =
new StreamWriter(@"X:\Data\projects\Savian.SasWorkflowReader\Data\project.xml"))
{
sw.Write(xmlFile);
}
}
xd = XDocument.Parse(xmlFile);
}
}
}
return xd;
}
答案 1 :(得分:0)
企业指南可使用.Net编写脚本,这很幸运,因为VBA实际上并不是.Net,但大多数情况下VBA也使用与.Net相似的语法。使用VB.Net或Powershell可能比使用VBA的时间更轻松,但是如果您知道如何从Excel / VBA调用.Net,则原理至少应该大致相同(入门请参见this question/answer) 。 (我强烈推荐Powershell,因为它很容易学习,非常适合这类事情。)
您可以快速入门with Chris Hemedinger's guide,尽管这已经很老了(我认为是4.3),但是概念和名称仍应至少(大部分)相同。
您还可以使用Windows计划程序在“企业指南”中计划任务(“文件”->“计划[projname]”)。当您告诉它执行此操作时,将创建一个.VBS文件(可视化基本脚本),然后可以打开该文件以查看其工作方式,并根据自己的意图对代码进行蚕食。