C#窗体中利用richtextbox控件,打开指定word文件,并进行编辑保存等操作,出现Office或者是Interop未定义的解决方案
来源:互联网 发布:算法分析与设计基础pdf 编辑:程序博客网 时间:2024/06/06 01:04
当我们遇到Office或者是Interop未定义的错误时,我们需要通过添加引用来解决;我的开发工具是VS2015,其他的版本操作大体相同;
首先,我们在使用VS开发工具建好窗体后,在菜单栏的项目上点击,选择添加引用------在COM中勾选Microsoft Office 12.0 object library 及Microsoft Office List 12.0 ,这样就解决了Microsoft Office 12.0 object library ;如图2所示;
其次, 先向下拉动,找到Microsoft Word 12.0 object library 复选框,勾选即可解决Interop未定义的错误。如图3;
最后,就可以顺利的打开任何位置的word文件。
图2
图3
打开文件代码: private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
switch (Path.GetExtension(openFileDialog1.FileName))
{
case ".rtf":
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.RichText);
break;
case ".doc":
case ".docx":
//File.Copy(DocTOrtf(ofd打开.FileName), DocTOrtf(ofd打开.FileName));
richTextBox1.LoadFile(DocTOrtf(openFileDialog1.FileName), RichTextBoxStreamType.RichText);
break;
}
}
}
private string DocTOrtf(string doc)
{
//创建一个word的实例
Word.Application newApp = new Word.Application();
// 指定源文件和目标文件
object Source = doc;
object Target = Path.GetDirectoryName(doc) + "\\" + Path.GetFileNameWithoutExtension(doc) + ".rtf";
File.Create(Target.ToString()).Dispose();
object Unknown = Type.Missing;
// 打开要转换的Word文件
newApp.Documents.Open(ref Source, 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, ref Unknown);
// 指定文档的类型
object format = Word.WdSaveFormat.wdFormatRTF;
//改变文档类型
newApp.ActiveDocument.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);
//关闭word实例
newApp.ActiveDocument.Close(ref Unknown, ref Unknown, ref Unknown);
newApp.Quit(ref Unknown, ref Unknown, ref Unknown);
return Target.ToString();
}
保存代码:
private void button2_Click(object sender, EventArgs e)
{
richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.RichText);
}
另存为代码:
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.RichText);
}
- C#窗体中利用richtextbox控件,打开指定word文件,并进行编辑保存等操作,出现Office或者是Interop未定义的解决方案
- C#中打开word 文件并在richTextBox中显示
- c#中做在线预览时没有在利用using时发现没有Microsoft.Office.Interop.Word;这个引用解决方案
- 在winform中利用外部程序打开pdf或者word等文件的方法
- .net 引用Microsoft.Office.Interop.Word.dll对word文件进行操作
- 类型“Microsoft.Office.Interop.Word.ApplicationClass”未定义构造函 无法嵌入互操作类型“Microsoft.Office.Interop.Word.ApplicationClass”
- 类型“Microsoft.Office.Interop.Word.ApplicationClass”未定义构造函 无法嵌入互操作类型“Microsoft.Office.Interop.Word.App
- C# 窗体程序界面显示和操作word 单是不依赖office的操作办法
- C#操作Word导致 “Microsoft.Office.Interop.Word.ApplicationClass”的 COM 组件错误的解决方法
- C#使用指定打印机打印Word,Excel等Office文件和打印PDF文件的代码
- Microsoft.Office.Interop.Word 对word 的基本操作
- Microsoft.Office.Interop.Word 对word 的基本操作
- 使用微软Microsoft.Office.Interop.Excel打开Excel文件刷新后保存并kill对应Excel进程
- Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题
- C#中如何将打开的TXT文件读入RichTextBox
- C#利用Microsoft.Office.Interop.Excel导出excel文件
- 关于C#操作EXCEL,生成图表的全面应用之一(利用Microsoft.Office.Interop.Excel)
- 关于C#操作EXCEL,生成图表的全面应用之二(利用Microsoft.Office.Interop.OWC11)
- Java Classloader机制
- UITableViewHeaderFooterView当中的方法
- Linux命令大全(简)
- Android自动化测试之Monkeyrunner 脚本编写
- 寻找 最小的k个数 线性选择算法 平均时间复杂度 O(n)
- C#窗体中利用richtextbox控件,打开指定word文件,并进行编辑保存等操作,出现Office或者是Interop未定义的解决方案
- 对于更新xcode7后模拟器上下出现黑边等三个问题及解决方案(任超)
- div居中显示方法
- java读取properties 配置文件信息
- error C2065: “CRegKey”: 未声明的标识符
- 并发服务器模型(收藏)
- 探究链式编程思想
- 自定义UITableViewFooterHeaderView时调用自身的self.bounds为0的情况
- C++中const详解