我们学校要求做一个c#的小程序,用c#连接word,在指定标签处添加文字后,我想在文字中间添加一个图片,但不知道怎么加,希望各位高手帮帮忙。下面是程序,我能找到的就这些,运行结果不是想要的。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.Word;
using System.IO;
using System.Collections.Specialized;
namespace WindowsFormsApplication23
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Object Nothing = System.Reflection.Missing.Value;
Directory.CreateDirectory("C:\\Users\\dell3\\Desktop"); //创建文件所在目录
string name = "7.doc";
object filename = "C:\\Users\\dell3\\Desktop\\" + name; //文件保存路径
//创建Word文档
_Application WordApp = new ApplicationClass();
Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add();
//WordDoc.Paragraphs.Last.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; //设置对齐方式
string text1 = richTextBox1.Text;
WordDoc.Paragraphs.Last.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
WordDoc.Paragraphs.Last.Range.Bold = 2;
WordDoc.Paragraphs.Last.Range.Font.Size = 20; //设置字号大小
WordDoc.Paragraphs.Last.Range.Text = "实验目的\n";
WordApp.Selection.TypeParagraph(); //插入段落
WordDoc.Paragraphs.Last.Range.Bold = 0;
WordDoc.Paragraphs.Last.Range.Font.Size = 13; //设置字号大小
WordDoc.Paragraphs.Last.Range.Text = text1 + "\n";
//WordDoc.Paragraphs.Last.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
WordDoc.Paragraphs.Last.Range.Bold = 2; //加粗
WordDoc.Paragraphs.Last.Range.Font.Size = 20; //设置字号大小
WordDoc.Paragraphs.Last.Range.Text = "实验环境\n";
WordApp.Selection.TypeParagraph(); //插入段落
WordDoc.Paragraphs.Last.Range.Bold = 0;
WordDoc.Paragraphs.Last.Range.Font.Size = 13; //设置字号大小
WordApp.Selection.ParagraphFormat.LineSpacing = 15f;//设置文档的行间距
WordDoc.Paragraphs.Last.Range.Text = richTextBox2.Text.ToString() + "\n";
WordDoc.Paragraphs.Last.Range.Bold = 2;
WordDoc.Paragraphs.Last.Range.Font.Size = 20; //设置字号大小
WordDoc.Paragraphs.Last.Range.Text = "实验原理\n";
WordApp.Selection.TypeParagraph(); //插入段落
WordDoc.Paragraphs.Last.Range.Font.Size = 13; //设置字号大小
WordDoc.Paragraphs.Last.Range.Bold = 0;
//this.richTextBox3.Focus();
int a=this.richTextBox1.SelectionStart;
//定义该插入的图片是否为外部链接
object linkToFile = false; //默认
//定义要插入的图片是否随Word文档一起保存
object saveWithDocument = true;
object range = WordDoc.Paragraphs.Last.Range;
if (Clipboard.ContainsFileDropList())
{
StringCollection sc = Clipboard.GetFileDropList();
for (int i = 0; i < sc.Count; i++)
{
string fileName = sc[i];
richTextBox1.Text = fileName;
Image img = Image.FromFile(fileName);
Clipboard.Clear();
Bitmap bmp = new Bitmap(img);
Clipboard.SetImage(bmp);
richTextBox3.Paste();
// WordDoc.InlineShapes.AddPicture(fileName);
//object range = WordDoc.Paragraphs.Last.Range;
//Object range = WordDoc.Paragraphs.Last.Range;
//定义该插入的图片是否为外部链接
// Object linkToFile = false; //默认
//定义要插入的图片是否随Word文档一起保存
//Object saveWithDocument = true; //默认
//object Anchor = this.richTextBox3.SelectionStart;
// object bkObj = "bookmark";
// string bk;
//if (WordApp.ActiveDocument.Bookmarks.Exists(bk) == true)
// {
// WordApp.ActiveDocument.Bookmarks.get_Item(ref bkObj).Select();
// object oRng = WordDoc.Bookmarks.get_Item(ref bkObj).Range;
// object Anchor = WordDoc.Application.Selection.Range;
// WordDoc.InlineShapes.AddPicture(fileName, ref linkToFile, ref saveWithDocument, ref oRng);
// }
}
}
WordDoc.Paragraphs.Last.Range.Text = richTextBox3.Text.ToString() + "\n";
//MessageBox.Show("1");
//object Anchor = WordDoc.Application.Selection.Range;
//string path = @"C:\Users\dell3\Desktop\新建文件夹 (18)\登陆界面\0.jpg";
//Clipboard.Clear();
//Bitmap bmp=new Bitmap(path);
//Clipboard.SetImage(bmp);
//richTextBox3.Paste();
//Clipboard.Clear();
//WordDoc.InlineShapes.AddPicture(path);
//G_str_path = string.Format( //计算文件保存路径
//@"{0}{1}", G_FolderBrowserDialog.SelectedPath,+ ".doc");
// WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(richTextBox3.Paste());
//= richTextBox3.Paste + "\n";
//WordDoc.Paragraphs.Last.Range = richTextBox3.Focus()+ "\n";
//移动焦点并换行
//object count = 14;
object WdLine = WdUnits.wdLine;//换一行;
WordDoc.Paragraphs.Last.Range.Bold = 2;
WordDoc.Paragraphs.Last.Range.Font.Size = 20; //设置字号大小
WordDoc.Paragraphs.Last.Range.Text = "实验内容与要求\n";
WordApp.Selection.TypeParagraph(); //插入段落
WordDoc.Paragraphs.Last.Range.Font.Size = 13; //设置字号大小
WordDoc.Paragraphs.Last.Range.Bold = 0;
WordDoc.Paragraphs.Last.Range.Text = richTextBox4.Text.ToString() + "\n";
WordDoc.Paragraphs.Last.Range.Bold = 2;
WordDoc.Paragraphs.Last.Range.Font.Size = 20; //设置字号大小
WordDoc.Paragraphs.Last.Range.Text = "实验过程及结果分析\n";
WordApp.Selection.TypeParagraph(); //插入段落
WordDoc.Paragraphs.Last.Range.Font.Size = 13; //设置字号大小
WordDoc.Paragraphs.Last.Range.Bold = 0;
WordDoc.Paragraphs.Last.Range.Text = richTextBox5.Text.ToString() + "\n";
//WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点
//WordDoc.Paragraphs.Last.Range.Text = "应收获书\n";
//WordApp.Selection.TypeParagraph(); //插入段落
//WordDoc.Paragraphs.Last.Range.Text = "应收获确认书\n";
WordDoc.SaveAs(filename); //保存文件
WordApp.Quit(); //结束程序
}
}
}