Inventor VBA 保存文件

Posted

技术标签:

【中文标题】Inventor VBA 保存文件【英文标题】:Inventor VBA save file 【发布时间】:2021-12-18 15:38:46 【问题描述】:

我在其中使用 Inventor 2022 和 VBA。我尝试使用 VBA 脚本(宏 - 按钮)保存文件。

这是代码,包含在旧版本 Inventor 的文档中,但包含一些错误:

Dim oDoc As PartDocument

Rem this causes the "Invalid character _"
oDoc = _InvApplication.Documents.Add(DocumentTypeEnum.kPartDocumentObject)

Rem this causes the "Expected: ="
oDoc.SaveAs("C:\Temp\SaveTest.ipt", False)

来源:https://github.com/ADN-DevTech/Inventor-Training-Material(常见的 Inventor Functions 演示文稿)

我的所有解决方案都不正确!

我认为这是 object browser 的重写代码,但不是 Inventor library:

Inventor.FileSaveAs.AddFileToSave(oDoc, "C:\myTemp\t.ipt")

我也发现了类似的东西:

Inventor.FileSaveAs.AddFileToSave := oDoc, "C:\myTemp\t.ipt"

感谢您的帮助。

【问题讨论】:

我针对 Inventor VBA 中的错误编辑了我的帖子。 【参考方案1】:

您好,欢迎来到 SO

您的第一个代码片段没问题。它认为该文档之前没有保存过,或者您想将文档另存为磁盘上的新文件。

稍后您可以只使用oDoc.Save() 进行简单的保存文档。如果您调用此保存方法并且之前未保存文档,则会向用户显示标准保存文件对话框。

您接下来的两个代码片段在 Inventor 中不可用,因为它来自 ApprenticeServer

【讨论】:

我不知道为什么,但oDoc.Save 不起作用。没有对象声明。这会导致“无效使用属性”:oDoc=InvApplication.Documents.Add(DocumentTypeEnum.kPartDocumentObject) 我使用了oDoc = ThisApplication.ThisDocumetCall oDoc.Save() 它来自link 感谢您的努力,我花了很长时间才找到解决这个问题的方法,所以写在这里很合适。 如果您想导出为 .obj 文件,请仅使用 Call oDoc.SaveAs("C:\myTemp\a.obj", True)

以上是关于Inventor VBA 保存文件的主要内容,如果未能解决你的问题,请参考以下文章

VBA:保存而不覆盖现有文件

检查文件是不是使用 vba 保存

VBA 自动保存文件

使用 VBA 保存时显示“是不是要覆盖文件”对话框

将excel中数据保存至另一个excel中用vba

通过使用 VBA 浏览将文件保存在所需文件夹中