解决方案 »
- c#发送鼠标点击事件
- 急需解决studio 2005 常见问题.
- 问个关于线程的 问题 顶者有分
- 串行通信相关。
- Usenet中文.net新闻组,大家一起上啊
- C#windowsform开发中遇到了问题。
- WPF怎么实现ComboBox和Label之间的数据绑定
- 求救 ->刷新项目图时:无法从服务器中检索文件夹信息 错误
- 怎样实现 Visual C#.net的程序 在没有.NET SDK的机器上安装布署?
- 怎么样用c#读写io端口。我所说的不是串口和并口。我说的是直接读去isa或pci槽上的数据或是向一个指定的地址发送一个高电平
- 求一个BS结构的工作流引擎
- C# 调用WIN8 Metro IE 求解
private Word.Application G_wa;//定义Word应用程序字段
private object G_missing = //定义missing字段并赋值
System.Reflection.Missing.Value;
private object G_str_path;//定义文件保存路径字段
private FolderBrowserDialog G_FolderBrowserDialog;//定义文件夹浏览对话框字段
//浏览文件保存文件地址
private void btn_Select_Click(object sender, EventArgs e)
{
G_FolderBrowserDialog =//创建浏览文件夹对象
new FolderBrowserDialog();
DialogResult P_DialogResult = //浏览文件夹
G_FolderBrowserDialog.ShowDialog();
if (P_DialogResult == DialogResult.OK)//确认已经选择文件夹
{
btn_New.Enabled = true;//启用新建按钮
txt_path.Text = //显示选择路径
G_FolderBrowserDialog.SelectedPath;
}
}
//绘制设置Word文档表格样式
private void btn_New_Click(object sender, EventArgs e)
{
G_ToolProgressBar.Minimum = 1;//设置进度条最小值
G_ToolProgressBar.Maximum = //设置进度条最大值
int.Parse(txt_row.Text)+1;
btn_New.Enabled = false;//停用新建按钮
ThreadPool.QueueUserWorkItem(//使用线程池
(P_temp) =>//使用lambda表达式
{
G_wa = new Word.Application();//创建Word应用程序对象
Word.Document P_wd = G_wa.Documents.Add(//建立新文档
ref G_missing, ref G_missing, ref G_missing, ref G_missing);
Word.Range P_Range = P_wd.Paragraphs[1].Range;//得到文档范围对象
object P_DefaultTable = //创建表格参数对象
Word.WdDefaultTableBehavior.wdWord8TableBehavior;
object P_AutoFit = //创建表格参数对象
Word.WdAutoFitBehavior.wdAutoFitWindow;
Word.Table P_WordTable = P_Range.Tables.Add(//向文档中添加表格
P_Range,
int.Parse(txt_row.Text),
int.Parse(txt_column.Text),
ref P_DefaultTable, ref P_AutoFit);
for (int i = 1; i < int.Parse(txt_row.Text) + 1; i++)
{
for (int j = 1; j < int.Parse(txt_column.Text) + 1; j++)
{
P_WordTable.Cell(i, j).Range.Text =//使用双层循环向表格中添加数据
string.Format("{0}行 {1}列", i.ToString(), j.ToString());
Thread.Sleep(10);//线程挂起10毫秒
}
this.Invoke(//调用窗体线程
(MethodInvoker)(() => //使用Lambda表达式
{
G_ToolProgressBar.Value = i + 1;//设置进度信息
}));
}
G_str_path = string.Format(//计算文件保存路径
@"{0}\{1}", G_FolderBrowserDialog.SelectedPath,
DateTime.Now.ToString("yyyy年M月d日h时s分m秒fff毫秒") + ".doc");
P_wd.SaveAs(//保存Word文件
ref G_str_path,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing);
((Word._Application)G_wa.Application).Quit(//退出应用程序
ref G_missing, ref G_missing, ref G_missing);
this.Invoke(//开始执行窗体线程
(MethodInvoker)(() =>//使用lambda表达式
{
btn_Display.Enabled = true;//启用显示按钮
MessageBox.Show("成功创建Word文档!", "提示!");
}));
});
}
//显示文档样式
private void btn_Display_Click(object sender, EventArgs e)
{
G_wa = //创建应用程序对象
new Microsoft.Office.Interop.Word.Application();
G_wa.Visible = true;//将文档设置为可见
Word.Document P_Document = G_wa.Documents.Open(//打开Word文档
ref G_str_path, ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing,
ref G_missing);
}
}