在c#中使用word为啥在关闭时总是显示“另存为”对话框

     2023-05-07     30

关键词:

【中文标题】在c#中使用word为啥在关闭时总是显示“另存为”对话框【英文标题】:using word in c# why always show 'save as' dialog when close在c#中使用word为什么在关闭时总是显示“另存为”对话框 【发布时间】:2013-07-30 03:27:59 【问题描述】:

我正在编写一些代码,试图将 Word 文档转换为 swf 文件。

我是这样做的:

    我使用office组件服务将word文档转换为PDF文档 我使用 swftools 将 PDF 转换为 swf。

我是在我的计算机(64 位,Windows Server 2008 R2,Office 2010)上完成的,它工作正常,但是当我将它放入服务器(64 位,Windows Server 2008 R2,Office2010)时,“保存”当代码试图关闭程序中的 Word 时,将显示“对话框”,无论我单击“保存”还是“取消”,它都会抛出异常“文件为只读”。但实际上,我并没有更改原始文件,我只是将其打开并保存为 PDF 文档。

这里是“将 Word 转换为 PDF”的代码:

bool ret = true;
        Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application();
        Microsoft.Office.Interop.Word.Document doc = null;
        object Unknown = Type.Missing;
        try
        

            object Source = path;
            object Target = path.Substring(0, path.LastIndexOf(".")) + ".pdf";
            if (outpath != "")
                Target = outpath;
            object readOnly = true;
            object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
            doc = newApp.Documents.Open(ref Source, ref Unknown, ref readOnly,
                ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown,
                ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
            doc.SaveAs(ref Target, ref format,
                ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown,
                ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
        
        catch (Exception e)
        
            ret = false;
        
        finally
        
            if (doc != null)
            
                doc.Close(ref Unknown, ref Unknown, ref Unknown);
                //dialog shows up here
            
            newApp.Quit(ref Unknown, ref Unknown, ref Unknown);
            GC.Collect();
        

        return ret;

有什么建议吗?

【问题讨论】:

尝试去掉swf逻辑,只将word文档转换成pdf来隔离问题。如果这在您的生产服务器上有效,那么这意味着生产中的 swftools 发生了一些事情 我已经这样做了,swftools 工作正常,因为我尝试将 pdf 转换为 swf,它在服务器上工作正常 不确定这会有所不同,但请尝试object Unkown=System.Reflection.Missing.Value,而不是您现在拥有的...... 【参考方案1】:

将 false 作为第一个参数传递,提示将消失

http://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.document.close(v=vs.80).aspx

【讨论】:

怎么把word转换为网页html格式

...候在桌面就可以找到保存的网页,然后用浏览器会打开并显示网页的内容。参考技术A打开word文档,单击菜单栏中的“文件”,找到“另存为”或“另存为网页”单击另存为”或“另存为网页”,弹出"另存为"窗口,在&quo... 查看详情

word文件显示乱码怎么办?

...,并关闭word。  2、打开刚才保存的RTF格式文件,再次使用“另存为”将文件重新保存为“Word文档”,现在打开这个word文件就可以发现文件已经被恢复过来了。  如果在转换成rtf格式后文件仍然不能被恢复,可以将文件再... 查看详情

为啥word不能打字?:

为什么不能在word里打字,显示不出来,下面显示的是“不允许修改,因为所选内容已被锁定”被设置了“工具”——“保护文档”的缘故!!!Word文档保护的破解一般来说,WORD文档有两种密码:打开密码和文档保护密码,下面... 查看详情

如何在浏览器中限制另存为? [关闭]

...器中不起作用。有没有办法在浏览器中保存页面?请帮助使用JavaScript或jQuery或任何解决方案限制页面。【问题讨论】:你不能。这是浏览器的内部选项之一。您不能,一旦用户查看了一个页面,它就 查看详情

如何在 PHP 中使用 JavaScript 另存为函数?

】如何在PHP中使用JavaScript另存为函数?【英文标题】:HowtouseJavaScriptinPHPsaveasfunction?【发布时间】:2015-07-0206:16:43【问题描述】:我是PHP新手。我有一个表单,它有不同的提交按钮,如保存、编辑、取消和另存为。现在我想当用... 查看详情

在 Word 2010 中禁用另存为但不保存

】在Word2010中禁用另存为但不保存【英文标题】:DisableSaveAsbutnotSaveinWord2010【发布时间】:2017-11-2123:02:09【问题描述】:我希望在Word2010文件中禁用“另存为”,但仍允许保存。换句话说,我希望用户能够更新现有文件但不能创... 查看详情

C# 使用保存对话框将图片框另存为 jpeg

】C#使用保存对话框将图片框另存为jpeg【英文标题】:C#SavepictureboxasjpegwithSavedialoguebox【发布时间】:2011-03-1516:30:27【问题描述】:我的WinForm程序的图片框中显示了一个jpeg,我想将它保存到一个jpeg文件并有标准的“保存”对话... 查看详情

打印时更改 PDF 文件名 - 另存为操作

...描述】:我在iframe窗口中显示PDF文件,我的下一个操作是使用javascript打印该iframe。文件正在打印窗口中打开,但单击-在打印窗口中另存为PDF默认选项后,它在窗口对话框中显示actionname(方法名称)DownloadReport 查看详情

显示“另存为”窗口

】显示“另存为”窗口【英文标题】:show"Saveas"window【发布时间】:2011-01-0516:04:41【问题描述】:如何在asp.net和C#中显示另存为窗口...这类似于为上传而打开的窗口,但该窗口是打开的文件...我不想只保存一个文件...比... 查看详情

在 MS Word 2010 中另存为的键盘快捷键

...工作。@SagarBalyan在Photoshop等其他程序/产品中,我们可以使用Ctrl+Shift+S进 查看详情

怎么将网页转换成word

材料/工具:word20071、使用电脑网页浏览器打开需要操作的网页。2、在网页任意位置点击鼠标右键,选择“网页另存为”。3、根据需要将网页文件保存至电脑指定位置。4、新建一个WORD文档,从WORD文档内打开文件5、文件类型中... 查看详情

freemark在linux上生成word以后,怎么转pdf

freemark在linux上生成word以后转pdf直接另存为即可。工具:word2013步骤:1、打开word2013,点击文件,选择另存为。选择其他格式。2、在另存为界面,选择格式pdf,点击保存即可完成。注:word2010以下版本另存为没有pdf格式,需下载... 查看详情

word另存为pdf图片模糊

word另存为pdf时,图片的清晰度如果是位图决定于原图片的清晰度、如果图片的类型是矢量图,是不影响清晰度的。如果是位图格式,尽量调整好亮度与对比度、把图片尺寸调大,再另存为pdf格式,会好一些。参考技术AWord保存图... 查看详情

为啥在 C# 中生成的代码使用下划线? [关闭]

】为啥在C#中生成的代码使用下划线?[关闭]【英文标题】:WhygeneratedcodeinC#usesunderscore?[closed]为什么在C#中生成的代码使用下划线?[关闭]【发布时间】:2012-06-2422:52:12【问题描述】:我知道这可能是一个愚蠢的问题,但它就是这... 查看详情

下载 aspx 页面并将其另存为 HTML 页面 [关闭]

...1216:47:59【问题描述】:如何将aspx页面下载为HTML页面?我使用了将aspx页面下载为HTML的下载代码。但是当我打开保存在桌面上的文件时,它显示的格式为<@pagedirective.....>andoly<%%><% 查看详情

如何将word转成html格式

...后,再选择保存类型为“网页”。第六步:文件及文件夹显示区下方将显示原始的页标题,可以点击后面的“更改标题”按钮,在设置“页标题”对话框中更改页标题。更改好以后再点击“确定”按钮。返回“另存为”对话框。... 查看详情

“将图像另存为..”在使用 window.open() 和 document.write() 时无法在 Google Chrome 中运行

】“将图像另存为..”在使用window.open()和document.write()时无法在GoogleChrome中运行【英文标题】:"Saveimageas.."notworkinginGoogleChromewhenusingwindow.open()anddocument.write()【发布时间】:2017-03-3108:34:12【问题描述】:在我的应用程序中... 查看详情

excel保存时弹出窗口为另存为,怎么办?

...excel表格为只读文件,修改后保存会提示另存为,关闭正使用的excel,点击该文件,点击鼠标右键打开属性,在常规中关闭只读属性;2、正在发送的文件保存也会提示另存为,将正在发送的excel文件停止发送;4、重新打开、修改... 查看详情