2014-03-27 37 views
0

我们有一个系统,我们将生成报告作为Word文档(使用RDLC)。如何强制Word在生成的文档上执行SaveAs

该报告创建在一个临时目录中,然后启动Word以将其显示给用户。

Word将会启动,并通过加载的报告:

_wordApplication = (Word.Application)Activator.CreateInstance(Type.GetTypeFromProgID("Word.Application")); 
object tempFileNameObj = documentPath; 
_wordDocument = _wordApplication.Documents.Open(ref tempFileNameObj); 

我想是说服字,这确实是一个新创建的,未保存的文件,所以当他们就会给用户一个另存为对话框保存它(而不是保存回临时位置)。

理想情况下,我希望能够指定目标目录,并提供默认名称。

虽然Word正在启动,但我可以按自己喜欢的方式进行操作,但Word启动后,我的应用程序将与Word断开连接,并且不希望在文档中留下任何宏。

+1

嗨,你可以看看:HTTP:// johniekarr .wordpress.com/2012/09/15 /强制 - 另存为,在微软字/我认为这是非常接近你想要什么 –

+0

@SamuelLopez:有些好东西有,但出货Word加载ISN”真的是一个选择。如果我不得不求助于在文档中包含宏,那么这里的方法会很有用。 –

+0

如果您可以使用.New而不是.Open,则应强制创建新文档。在最近的Windows Word版本中,即使tempFileNameobj是一个文档而不是模板,它也能工作,但我不记得是否总是这样。 – 2014-03-28 12:05:00

回答

0

如果你没有使用宏,我相信唯一的方法来实现这将是保存文件,他们将下载的只是一个只读或用户定义的模板文件,如果他们不想做对其进行更改后,他们必须在计算机中另存一个名称以保存所做的更改。如果您可以使用宏,则可以获得更多选项,甚至在打开文档或关闭文档时强制另存为对话框。我希望这可以帮助,因为如果不使用宏,我无法找到更多信息。

1

您可以重命名.doc文件.dot(Word模板),如果你以后启动它,它会创建一个新的文件exactely看起来像你的.doc