Enterprise Architect javascript - 使用 Word RTF 和链接元素

问题描述 投票:0回答:1

我有一个带有一些图表的企业架构师项目。我想将它们添加到外部 Word 文档(无法使用 EA 生成)。而且,其他人可能需要在没有EA项目的情况下编辑这个word文档。所以这就是我所做的:

我创建了一个 EA JavaScript 文件,它生成 rtf 文件(每个图表 1 个 .rtf 文件)。 在我的主 Word 文档中,每当我想要插入图表时,我都会添加一个指向先前生成的特定 rtf 文件的链接。 一切工作正常,除了一段时间后,我无法再生成 rtf 文件(当 运行 docGenerator.SaveDocument),它告诉我“无法保存输出文件”。

生成RTF:

function OnProjectBrowserScript()
{
    // Get the type of element selected in the Project Browser
    var treeSelectedType = Repository.GetTreeSelectedItemType();
    switch ( treeSelectedType )
    {
        case otPackage :
        {
            // Code for when a package is selected
            [...]
            packageDiagrams = thePackage.Diagrams; // Collection of all the Diagrams
            
            for ( var i = 0 ; i < packageDiagrams.Count ; i++ ) {
                var currentElement as EA.Diagram;
                currentDiagram = packageDiagrams.GetAt( i );
            
                // Document Generation using docGenerator
                var docGenerator as EA.DocumentGenerator;
                docGenerator = Repository.CreateDocumentGenerator();
                docGenerator.NewDocument("")
                docGenerator.DocumentDiagram(currentDiagram.DiagramID,1,"Diagram Report");
                var diagramName = currentDiagram.Name + ".rtf";

                //Save diagram into rtf document
                var saveSuccess = docGenerator.SaveDocument( diagramName, EA.DocumentType.dtRTF );
                if ( saveSuccess ) {
                    Session.Prompt( "Documentation complete!", promptOK );
                } else {

                    // -- > Error message saying file cannot be saved <--
                    Session.Prompt( "Error saving file " + diagramName + " : " + docGenerator.GetLastError(), promptOK );

                }
            
            }
            break;
        }
        [...]

这个“问题”是我的RTF文件在另一个文档中使用/链接(如果我不在另一个文件中使用它们作为链接,我可以生成任意多次的rtf文件)。

此外,我从来没有用Word打开生成的rtf文件(因为我不想让Word锁定它们......)。 另外,生成rtf文件时,我的主word文档也被关闭。 我认为问题来自 EA rtf 文件生成,因为我已经将这种方法与另一个生成 rtf 的工具一起使用,并且没有遇到任何问题。

如何在写入rtf文件时绕过保护? 是否有另一种方法可以从 EA 导出文件而不是使用 docGenerator?

javascript ms-word rtf enterprise-architect
1个回答
-1
投票

感谢您提供这些宝贵的信息。请访问我们的姆西拉大学网站:

https://www.univ-msila.dz/site/en/

城市技术管理研究所(IGTU):

https://www.univ-msila.dz/site/gtu/

© www.soinside.com 2019 - 2024. All rights reserved.