在使用word作为模板绑定数据,生成报表时,在循环中易出现错误:
foreach (FormField bm0 in _doc.FormFields)
{...
bm0.Range.Text=bandvalue;
}
易出现异常:
System.Runtime.InteropServices.COMException (0x80010001): 被呼叫方拒绝接收呼叫。
(Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED))
原因可能为:
1.目录权限
2,操作频繁
若是权限问题,按如下步骤:
在运行里面输入:
dcomcnfg
在“服务”里找到这三个服务,都去启动
Distributed Transaction Coordinator
Remote Procedure Call (RPC)
Security Accounts Manager
如果:Distributed Transaction Coordinator 启动不了
就先在运行里面输入:
msdtc -resetlog
然后在开启:Distributed Transaction Coordinator
接着关闭服务组件窗体 ,并重新打开,这个时候每个组建就有属性了
然后:在命令行中输入:dcomcnfg,会显示出“组件服务”管理器
2、打开“组件服务->计算机->我的电脑->DCOM 配置”,找到“Microsoft Word文档”,单击右键,选择“属性”
在“属性”对话框中单击“标识”选项卡,选择“交互式用户””,关闭“组件服务”管理器。
若是操作频繁,则需要在代码中加入延时:
int m_iErrCnt=0;
while( true )
{
try
{
bm0.Range.Text=bandvalue;
break;
}
catch(SystemException err)
{
m_iErrCnt++;
if( m_iErrCnt<10 )
{
System.Threading.Thread.Sleep(1000);
}
else
{ throw err;}
}
}
foreach (FormField bm0 in _doc.FormFields)
{...
bm0.Range.Text=bandvalue;
}
易出现异常:
System.Runtime.InteropServices.COMException (0x80010001): 被呼叫方拒绝接收呼叫。
(Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED))
原因可能为:
1.目录权限
2,操作频繁
若是权限问题,按如下步骤:
在运行里面输入:
dcomcnfg
在“服务”里找到这三个服务,都去启动
Distributed Transaction Coordinator
Remote Procedure Call (RPC)
Security Accounts Manager
如果:Distributed Transaction Coordinator 启动不了
就先在运行里面输入:
msdtc -resetlog
然后在开启:Distributed Transaction Coordinator
接着关闭服务组件窗体 ,并重新打开,这个时候每个组建就有属性了
然后:在命令行中输入:dcomcnfg,会显示出“组件服务”管理器
2、打开“组件服务->计算机->我的电脑->DCOM 配置”,找到“Microsoft Word文档”,单击右键,选择“属性”
在“属性”对话框中单击“标识”选项卡,选择“交互式用户””,关闭“组件服务”管理器。
若是操作频繁,则需要在代码中加入延时:
int m_iErrCnt=0;
while( true )
{
try
{
bm0.Range.Text=bandvalue;
break;
}
catch(SystemException err)
{
m_iErrCnt++;
if( m_iErrCnt<10 )
{
System.Threading.Thread.Sleep(1000);
}
else
{ throw err;}
}
}