gpt4 book ai didi

csv - 从 Enterprise Architect 脚本保存文件

转载 作者:行者123 更新时间:2023-12-02 18:09:14 24 4
gpt4 key购买 nike

我正在尝试创建一个脚本,该脚本显示一个对话框,我可以在其中选择保存文件的路径。下面就差不多了,不过这是打开文件,不是保存。

var filePath = OpenCSVFileDialog();
var fileName = GetFilenameFromPath(filePath);


function OpenCSVFileDialog()
{
var Project;
var Filename, FilterString, Filterindex, Flags, InitialDirectory, OpenorSave, filepath;

Filename = "";
FilterString = "CSV Files (*.csv)|*.csv|All Files (*.*)|*.*||";
Filterindex = 1;
Flags = 0;
InitialDirectory = "";
OpenorSave = 0;

Project = Repository.GetProjectInterface();
filepath = Project.GetFileNameDialog(Filename, FilterString, Filterindex,
Flags, InitialDirectory, OpenorSave);

return filepath;
}

function GetFilenameFromPath(filePath)
{
var bsindex, fileName;

// find the last backspace in the file path
bsindex = filePath.lastIndexOf("\\");

if (bsindex > 0)
{
// get the name of the file only - minus the directory path
fileName = filePath.substring(bsindex+1, filePath.length);
}
else
{
fileName = filePath;
}

return fileName;
}

最佳答案

要获取文件路径,请使用 EAScriptLib 脚本组中提供的 Jscript-Dialog 脚本,它将阻止您重写用于获取对话框的整个代码。

(要引用另一个脚本,请使用 !INC,在本例中,请将 !INC EAScriptLib.JScript-Dialog 放在脚本的顶部)

调用DLGSaveFile(filterString,filterIndex)并提供:

  • 过滤字符串,在您的情况下为CSV 文件 (*.csv)|*.csv|全部
    文件 (*.*)|*.*||
  • 您想要使用的过滤器的索引(在上一点中),您已经提供了

它将返回文件的路径。

您可以使用Project.GetFileNameDialog,它是相同的东西,但参数更多 also, here's a link

如果您使用 CSV 库创建 CSV 文件,则在调用 CSVEExportFinalize() 函数后应导出您的文件。您必须先调用 CSVEExportInitialize(filepath,columns,exportcolumsHeadings)

对于任何文件,都可以使用 JScript 和 VBScript 来完成,但不能使用 javascript

JScript

var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();

VB

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", True)
MyFile.WriteLine("This is a test.")
MyFile.Close

Microsoft Reference

关于csv - 从 Enterprise Architect 脚本保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44705781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com