【问题标题】:Open SAS program in new instance在新实例中打开 SAS 程序
【发布时间】:2014-07-22 21:26:42
【问题描述】:

我正在尝试找出一种方法,在默认情况下单击时在增强编辑器的新实例中打开 SAS 程序。

之前的问题是asked,但没有运气。

This paper 描述了使用增强编辑器打开程序的方式。完整的命令是:

"C:\PROGRA~1\SASHome\SASFOU~1\9.3\core\sasexe\SASOACT.EXE" action=Open
datatype=SASFile filename="%1" progid=SAS.Application.903 

作者解释说:

sasoact.exe 程序用于启动 SAS 的 OLE 自动化会话。 自动化 是一种机制通过 哪个 Windows 应用程序可以以编程方式控制另一个应用程序。双击 SAS 文件时 键入,sasoact.exe 会检查 SAS 的现有 OLE 自动化会话是否正在运行。如果不是,它会调用一个 SAS 的 OLE 自动化会话。一旦有活动 SAS 自动化服务器会话,任何进一步的调用 sasoact.exe 由现有的 SAS 会话处理,而不是在新的 SAS 会议。

我想只有一个 OLE 会话在某种程度上很有用,但是当您每次想要运行多个作业时都必须手动打开一个新的 EE 实例时,这真的很烦人。更不用说sasoact 的目标是启动的第一个会话,如果一个作业已经在该会话上运行,那么您的程序将不会打开。

有没有办法直接请求 OLE 会话的新实例,或者 "trick" sasoact.exe 看不到打开的会话?

[编辑] 太糟糕了,它被关闭为重复,因为答案与其他问题的答案大不相同。它还可以帮助不想从批处理文件运行程序的其他人。 这是有效的注册表项:

"C:\Program Files\SAS\SASFoundation\9.2(32-bit)\sas.exe" -initstmt "dm 'whost;include ''%1'' ';"  

我在HKEY_CLASSES_ROOT\SAS.Program.701\shell\Open New\command 中添加了它,所以现在我的下拉菜单中有一个简洁的小额外选项,可以有效地在新会话中打开程序点击

【问题讨论】:

  • 查看 Vasja 在其他时候提出问题时的回答 - 应该可以解决问题 ;-)
  • 嗯,我错过了那个。将尽快尝试。丹克
  • 除非它确实有效,否则我很犹豫是否要关闭它;从 cmd 运行与双击有很大不同。
  • 我会看看我是否可以添加一个指向批处理文件的注册表项并将其设为默认值,这将是一个复杂的解决方案,但它可能只是解决问题。
  • 嗨@Pane - 如果这有一个解决方案......并且你的问题被重新打开。您能否将解决方案发布为答案?另外 - 你可能在那个阶段想要指出这个问题现在被标记为......这些明显相关,即使不是完全重复。

标签: sas ole


【解决方案1】:

here 提供了一个类似的线程,显示使用批处理文件在新会话中打开 SAS 程序。

如果您想在新会话中打开一个 .sas 程序,只需点击以下程序即可:

您必须向注册表添加一个条目。处理注册表文件时要小心,请始终备份您的条目。

打开注册表编辑器(WIN+R > regedit)。
在目录HKEY_CLASSES_ROOT\SAS.Program.701\shell\ 中创建一个具有有意义名称的子目录(右键单击shell > New > Key)。我将我的命名为“打开新”。在这个新的子目录中创建另一个名为command 的子目录。您现在应该有一个如下所示的路径:
HKEY_CLASSES_ROOT\SAS.Program.701\shell\Open New\command
在这里,右键单击右侧注册表文件上的文件>修改并在Value data字段中添加以下内容(如果需要更改sas.exe的路径)

"C:\Program Files\SAS\SASFoundation\9.2(32-bit)\sas.exe" -NOTUTORIALDLG -initstmt "dm 'whost;include ''%1'' ';"

关闭编辑器。您现在应该在右键单击 .sas 程序的下拉菜单中指定了新选项:

此选项将在新的 SAS 会话中使用增强编辑器打开您的程序。

现在,如果您希望它可以双击,我想您必须将Open 子目录中的值替换为上面的值。没做过也不推荐,下拉中的额外选项对我来说已经够用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-28
    • 2011-08-30
    • 2010-10-08
    • 1970-01-01
    • 2010-10-10
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多