技巧驱动
科技创新

winform翻开word

1.c#,winForm嵌入word并能操作文档

在 Visual C# .NET 中新建一个 Windows 应用法式榜样项目。

默许情况下会创建 Form1。 在对象菜单上,单击自定义对象箱以翻开自定义对象箱对话框。

在 COM 组件选项卡上,添加一个对 Microsoft WebBrowser 的援用。单击肯定,将 WebBrowser 控件添加到 Windows 窗体对象箱。

WebBrowser 控件会显示出来,并且在对象箱中带有 Explorer(资本管理器)字样。 应用该对象箱向 Form1 添加一个 WebBrowser 控件、一个 OpenFileDialog 控件和一个 CommandButton 按钮。

这就会向 Form1 类添加 AxWebBrowser1、OpenFileDialog1 和 Button1 成员变量。 在 Form1 上,双击 button1。

这就会向 Form1 添加 Button1_Click 事宜。 在 Form1 的代码窗口中,向列表添加以下定名空间:using System.Reflection; 以下所示在 Form1 类中定义一个私有成员:private Object oDocument; 在 Form1 类的 InitializeComponent 办法的末尾,添加以下代码以处理 Form1_Load、Form1_Closed 和 axWebBrowser1_NavigateComplete2 事宜:this.axWebBrowser1.NavigateComplete2 += new AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(this.axWebBrowser1_NavigateComplete2); this.Load += new System.EventHandler(this.Form1_Load); this.Closed += new System.EventHandler(this.Form1_Closed); 将下面的代码private void button1_Click(object sender, System.EventArgs e) { } 调换为: private void button1_Click(object sender, System.EventArgs e) { String strFileName; //Find the Office document. openFileDialog1.FileName = ""; openFileDialog1.ShowDialog(); strFileName = openFileDialog1.FileName; //If the user does not cancel, open the document. if(strFileName.Length != 0) { Object refmissing = System.Reflection.Missing.Value; oDocument = null; axWebBrowser1.Navigate(strFileName, ref refmissing , ref refmissing , ref refmissing , ref refmissing); } } public void Form1_Load(object sender, System.EventArgs e) { button1.Text = "Browse"; openFileDialog1.Filter = "Office Documents(*.doc, *.xls, *.ppt)|*.doc;*.xls;*.ppt" ; openFileDialog1.FilterIndex = 1; } public void Form1_Closed(object sender, System.EventArgs e) { oDocument = null; } public void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e) { //Note: You can use the reference to the document object to // automate the document server. Object o = e.pDisp; oDocument = o.GetType().InvokeMember("Document",BindingFlags.GetProperty,null,o,null); Object oApplication = o.GetType().InvokeMember("Application",BindingFlags.GetProperty,null,oDocument,null); Object oName = o.GetType().InvokeMember("Name",BindingFlags.GetProperty ,null,oApplication,null); MessageBox.Show("File opened by: " + oName.ToString() ); } 按 F5 键运转该项目。

单击浏览后,会出现翻开对话框,您可以应用该对话框浏览到 Word 文档、Excel 任务表或 PowerPoint 演示文稿。选择任一文件,然后单击翻开。

文档在 WebBrowser 控件内翻开,并出现一个显示有 Office 文档办事器称号的消息框。

2.winform读取word文件

在Form里加一个button按钮和一个richtextbox,给按钮加一个Click事宜private void button1_Click(object sender, EventArgs e) { object filepath= "D:\\Debugtest.doc"; openWord(filepath); }//把Word文档内容取出来放到richtextBox里 private void openWord(object SPath) { object file = SPath; object nullobj = System.Reflection.Missing.Value; Word.Document doc = myWordApp.Documents.Open(ref file, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,ref nullobj,ref nullobj,ref nullobj,ref nullobj); doc.ActiveWindow.Selection.WholeStory(); doc.ActiveWindow.Selection.Copy(); IDataObject data = Clipboard.GetDataObject(); this.richTextBox1.Text = data.GetData(DataFormats.Text).ToString(); doc.Close(ref nullobj, ref nullobj, ref nullobj);}。

3.C# winform 翻开word报错

没法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强迫转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作掉败的缘由是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下缺点而掉败: 找不到 。 (异常来自 HRESULT:0x80030002 (STG_E_FILENOTFOUND))。

前次是 HRESULT:0x80004002(E_NOINTERFACE),修复了一下office变成如上所示。

出现缘由:能够是装置office时装置过不合版本形成的。

自己装置的是office 2003,并装置过office2007的兼容包,也装置过office visio 2007

处理办法:

在注册表中找到:HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046}\1.6 删除之便可以了。

由于我用的是office 2003对应的是1.5,所以删除1.6

office 2007对应的是1.6,所以要根据情况断定。(我的是装置了2007以后有装置了2010,10可以,07弗成以,我后来卸载掉落10,用07版测试发明该注册表项下1.7还在,所以删除掉落1.7,07版就正常了)

跋文:

普通来讲,一个COM对象在供给的时辰,平日还会供给一个类型库,在个中定义了COM对象的一切办法称号、参数称号、属性称号等等信息。我们要做的就是从类型库中取出这些信息。固然,某些只供C++法式榜样员应用的COM对象没有类型库,而代之以C++的头文件和/或idl文件,对这类情况,普通没有办法在法式榜样中罗列出对象的办法属性:毕竟去找C++头文件不太实际,何况在非开辟情况下,根本就没有头文件的说。

在普通情况下,COM对象的TypeLib信息存储在注册表中:在HK_CLASSROOT\CLSID\{ClassID}\的注册表项下,有一个名为TypeLib的子项,个中定义了这个COM对象类型库的ID;而在HK_CLASSROOT\TypeLib 注册表项下,罗列了体系中一切TypeLib。

4.如安在C#中读取Word文档

1.新建一个winform工程,添加两个button控件和一个textbox控件。

2.添加援用com文件Microsoft word 11.0 Object Library

并在代码中添加定名空间using Word //留意首字母大年夜写

3.定义全局变量

//创建word

_Application app=new Word.Application();

//创建word文档

_Document doc=null;

留意word和word文档是不合的

4.经过过程文件翻开对话框获得word文件地点地位,代码以下

OpenFileDialog dlg = new OpenFileDialog();

dlg.Filter = "word文件|*.doc";

if (dlg.ShowDialog() == DialogResult.OK)

{

string fileName = dlg.FileName;

}

翻开word,代码以下

object unknow = Type.Missing;

doc = app.Documents.Open(ref fileName,

ref unknow, ref unknow, ref unknow, ref unknow, ref unknow,

ref unknow, ref unknow, ref unknow, ref unknow, ref unknow,

ref unknow, ref unknow, ref unknow, ref unknow, ref unknow);

5.读取word文档

string temp = doc.Paragraphs[i].Range.Text.Trim();//变量i为第i段

textBox1.Text = temp; //将第i段内容复制到textbox中

5.请问用 winform 翻开长途的word 怎样玩 谁玩过啊

不知道,满哥。

应用中文Word供给的“拔出”功能直接在文档中拔出一个超等链接是创建超等链接最根本的办法,其详细的操作步调为:

将光标移至欲望拔出超等链接的地位,单击“拔出”菜单栏中的“超等链接”敕令,翻开“拔出超等链接”对话框,在“链接到”列表框当选择恰当的链接范围(如“本文档中的地位”、“新建文档”、“Web页”等),这里我们选择“原有文件或Web页”选项。 在“要显示的文字”栏中输入超等链接的称号(如“首都在线”)。在“请键入文件名或Web页称号”栏中输入超等链接的网址(这里应输入首都在线的网址 )。单击“屏幕提示”按钮,翻开“设置超等链接屏幕提示”窗口。输入体系对该超等链接的屏幕提示(如“263”)。单击“肯定”按钮,封闭一切对话框 如许,首都在线的网址就会作为超等链接拔出到用户正在编辑的文档中,它在默许情况下会采取蓝色、并加下划线方法显示“首都在线”几个字样,我们只需将鼠标放到该超等链接上,体系就会显示出用户设置的屏幕提示“263”,而单击该链接则可启动体系默许的浏览器翻开首都在线的网址(链接其他文档或网址的后果与此完全一样),应用非常便利。

。。。PS:来凑人数的。。

6.若何C#操作word模板生成word文档并翻开

codeproject上有很多操作word的C#代码:趁便给你几个链接:/KB/office/Word_Automation.aspx/KB/office/Word2007Automation.aspx/KB/office/csautomateword.aspxprivate void met_word_automation(){ try { // Declaring the object variables we will need later object varFileName = "c:\temp\doc.docx"; object varFalseValue = false; object varTrueValue = true; object varMissing = Type.Missing; string varText; // Create a reference to Microsoft Word application Microsoft.Office.Interop.Word.Application varWord = new Microsoft.Office.Interop.Word.Application(); // Creates a reference to a Word document Microsoft.Office.Interop.Word.Document varDoc = varWord.Documents.Open(ref varFileName, ref varMissing, ref varFalseValue, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing); // Activate the document varDoc.Activate(); // Change the 1st sentence of the document varText = "Altered sentence nr. 1"; varDoc.Sentences[0].Text = varText; // Change the 3rd sentence of the document varText = "Altered sentence nr. 3"; varDoc.Sentences[2].Text = varText; // Save the document varDoc.Save(); // Show the Microsoft Word window with our document on it varWord.Visible = true; // Call the print dialog in Word Microsoft.Office.Interop.Word.Dialog varDlg = varWord.Application.Dialogs[ Microsoft.Office.Interop.Word.WdWordDialog.wdDialogFilePrint]; varDlg.Show(ref varMissing); // Print the document varDoc.PrintOut(ref varTrueValue, ref varFalseValue, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varFalseValue, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing, ref varMissing); // Send mail with this document as an attachment varDoc.SendMail(); } catch (Exception varE) { MessageBox.Show("Error:\n" + varE.Message, "Error message"); }}You need to create references to this .NET namespace in order to use the above code: Microsoft.Office.Interop.Word。

转载请注明出处51数据库 » winform翻开word