关于word 打印的问题
引用Microsoft.Office.Interop.Word后然后调用PrintOut 方法
运行后 跟断点 发现到PrintOut 是长时间没有反映
应该不是打印机的问题 打印测试页是正常的
上一段代码
object background = false;
object filename = "C:\\tem.doc";
wDoc.SaveAs(ref filename, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref
missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
wDoc.PrintOut(ref background, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref
missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing);
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- http://msdn.microsoft.com/library/en-us/vbawd10/html/womthPrintOut.asp
参考下这个。 --------------------编程问答--------------------
Background Optional Variant. Set to True to have the macro continue while Microsoft Word prints the document.
不太了解这句话的意思 和宏有什么关系
--------------------编程问答-------------------- 换个打印机试下。。
必须安装office的.net开发包。
在工程的reference中添加com组件:Microsoft Word 11.0 Object Library
打印的代码如下:
Microsoft.Office.Interop.Word.Application app = null;--------------------编程问答--------------------
Microsoft.Office.Interop.Word.Document doc = null;
object missing = System.Reflection.Missing.Value;
object templateFile = Application.StartupPath + @"\表单模版.doc";
try
{
app = new Microsoft.Office.Interop.Word.ApplicationClass();
doc = app.Documents.Add(ref templateFile, ref missing, ref missing, ref missing);
try
{
foreach (Microsoft.Office.Interop.Word.Bookmark bm in doc.Bookmarks)
{
bm.Select();
string item = bm.Name;
if (item.Equals("in_time"))
{
bm.Range.Text = table.inTime == null ? "" : table.inTime.ToString();
}
else if (item.Equals("car_id"))
{
bm.Range.Text = table.carID == null ? "" : table.carID.ToString();
}
}
}
catch
{
}
//打印
doc.PrintOut(ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message, this.Text);
}
//销毁word进程
finally
{
object saveChange = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
if (doc != null)
doc.Close(ref saveChange, ref missing, ref missing);
if (app != null)
app.Quit(ref missing, ref missing, ref missing);
}
按装.net的开发包 这个是什么 我在网上搜了一下 也,没有这东西的下载
是不是不安装就没有 com组件?
--------------------编程问答-------------------- System.Runtime.InteropServices.COMException: 编号无效
现在报这个错误!! --------------------编程问答-------------------- 先定个点 --------------------编程问答--------------------
wDoc.PrintOut(ref background, ref missing, ref filename, ref missing, ref missing, ref missing, ref missing, ref
行 79: missing, ref missing, ref a1, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
行 80:
就算是打印这报的错误 ! --------------------编程问答-------------------- 找到 编号无效 的错误原因 我参数有问题
刚才在csdn上搜了一下 C#word 看来我的问题得到答案的希望渺茫
--------------------编程问答-------------------- 用Microsoft.Office.Interop.Word后要注意版本问题.我之前做2003没有问题,2007有问题 --------------------编程问答--------------------
我现在用的是2003 别的都没问题 就是在打印的时候长时间没有响应
也不报错
补充:.NET技术 , ASP.NET