none
非OOB模式,SL有无办法调用Word打开一个Word文件? RRS feed

  • 问题

  • 思路:可能可以调用Javascript来弹出IE的“打开、另保存”对话框。但是这个方法,很容易被有些浏览器或防病毒拦截,并且有可能会在新的页面或页标签上打开,影响系统的完美性。而SL的FileSaveAs对话框不会被拦截,但是梅办法打开。

    注意:不想要HyperlinkButton做过超级连接来打开,他同样存在被拦截的可能。而且我要的是在sl运行时的代码里面打开。

     实际上OOB模式也不知道怎么搞。为什么?是因为你虽然可以创建Word对象,但是你没有办法获得要打开的文件的文件名(我指的是包含路径的文件名),你让Word怎么去打开?!!!!!

    2010年9月8日 14:07

答案

  • OOB模式下可以把文件先暂时存在本地硬盘上,然后调用Word.Application打开,我就是这样做的。

    非OOB模式下只能用Javascript方式。

    我跟你看法一样:OOB模式是个鸡肋

     

    • 已标记为答案 TFSoft 2010年9月13日 12:44
    2010年9月13日 0:50

全部回复

  • 恐怕不行。非OOB下,Silverlight是不能和本地应用程序直接互操作的。


    Mog Liang
    2010年9月10日 3:26
  • 那请问OOB模式有办法么?我想一样没有办法。请回答。如果是这样的话,OOB就真的是不好说他了!!!据我所知:Word.Application不支持SaveToMemeory,不支持 OpenFromMemory,如果那个Word支持这两个操作的话,OOB就有希望打开一个不知道文件名的Word文档了。我们可以得到Word文档的内容放入一个Byte[]里面,可那个Word不认呀。

    2010年9月11日 13:22
  • OOB模式下可以把文件先暂时存在本地硬盘上,然后调用Word.Application打开,我就是这样做的。

    非OOB模式下只能用Javascript方式。

    我跟你看法一样:OOB模式是个鸡肋

     

    • 已标记为答案 TFSoft 2010年9月13日 12:44
    2010年9月13日 0:50
  • 谢谢!

    ---

    那么只有在OOB模式下打开了。1)调用SaveFileDialog, 2)Byte[]保存到文件,3)创建Word.Application,4)打开文件。

    问题是中间多了一个给出文件名的步骤,没有那么直接,没那么直接也罢,还要给出“另存为”的对话框,而另存为,实际上又是“打开”,让使用者多少有点疑惑或不舒服。算了,就那样。主要是OOB少了一些功能,如js里面的东西,我要配合着用,现在没有了。

    OOB真的是一个鸡肋。

    ---

    我用js打开,但是老被其它工具拦截,破坏我的界面。

    2010年9月13日 4:20