2

目前我有一个程序,它将包含 .MPP 文件(Microsoft Project 文件)的文件夹作为输入,重新格式化信息并将每个转换后的文件拆分到一个新文件夹中(由用户选择)。

问题在于,对于它处理的每个文件,应用程序都可以从任务栏中看到并累积。因此,如果我在目录中有 N 个文件,则会打开 N 个项目文件。有人知道如何隐藏这些任务吗?最初我认为默认情况下将可见属性设置为true,但是在将其显式设置为false后我仍然遇到问题。

projectApp.Visible = false;

这是我的应用程序的伪代码

For each File in Folder
    Open File
    Format File
    Save As File
End for each
Quit application

这是我传递的打开和保存参数(如果有帮助的话)打开:

projectApp.FileOpen(txtBrowse.Text + @"\" + file.Name, false, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, PjPoolOpen.pjDoNotOpenPool, missingValue, missingValue, true, missingValue);

保存:

projectApp.FileSaveAs(txtSave.Text + @"\" + file.Name, PjFileFormat.pjMPP, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue, missingValue);

和 missingValue 是Type.Missing

随时索取任何其他信息,并感谢您的帮助!

PS 我正在使用 Microsoft.Office.Interop.MSProject 参考

4

2 回答 2

1

我不熟悉该界面,但似乎您想在 FileSaveAs 之后将 FileClose 作为循环的最后一行。

于 2010-07-22T17:25:57.947 回答
1

我和你有同样的问题。最初,我无法保存文件。但是在另一个目录中再次测试代码后,它可以工作,但它并没有像你的那样关闭项目文件。正如其他人提到的那样,解决方案非常简单。你忘了关闭文件。使用以下行关闭文件:

projectApp.FileClose(PjSaveType.pjSave, missingValue);
于 2011-04-21T00:53:27.930 回答