Katsu 0 Denunciar post Postado Julho 24, 2009 Boa tarde... tenho uma aplicação desenvolvida em asp.net e c# com a qual eu pego arquivos pre-salvos do word e substituo algumas palavras de acordo com a necessidade do sistema. Rodando a aplicação em debug pelo VS2008 vai tdo beleza, porem estou tendo problemas qdo executo a mesma pelo IIS. Inicialmente estava tendo problemas de permissão, porem consegui resolver e agora estou tendo um erro de macro qdo tento ler o arquivo do word. Recebo a seguinte msg: ão foi possível abrir o armazenamento de macro. Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código. Detalhes da Exceção: System.Runtime.InteropServices.COMException: Não foi possível abrir o armazenamento de macro. Erro de Origem: Linha 81: catch (COMException comEx) Linha 82: { Linha 83: throw comEx; Linha 84: } Linha 85: catch (Exception e) Arquivo de Origem: C:\EPM_New\EPM\ConsistEPMClient\Consist.EPM.Library.Word\FWord.cs Linha: 83 Rastreamento de Pilha: [COMException (0x800a175d): Não foi possível abrir o armazenamento de macro.] Consist.EPM.Library.Word.FWord.GetAllBookmarks(Byte[] file, String startupPath) in C:\EPM_New\EPM\ConsistEPMClient\Consist.EPM.Library.Word\FWord.cs:83 Consist.EPM.WebForms.Forms.Entities.WordTemplate.OnLoadTemplateFile() in C:\EPM_New\EPM\ConsistEPMClient\Consist.EPM.WebForms\Forms\Entities\WordTemplate.aspx.cs:207 Consist.EPM.WebForms.Forms.Entities.WordTemplate.SendFile(Object sender, EventArgs e) in C:\EPM_New\EPM\ConsistEPMClient\Consist.EPM.WebForms\Forms\Entities\WordTemplate.aspx.cs:273 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 Informações sobre a Versão: Microsoft .NET Framework Versão:2.0.50727.3053; Versão do ASP.NET:2.0.50727.3053 procurrei no site da microsoft e vi que esse é um erro que pode ocorrer pelo fato do office estar sendo executado pelo servidor. Alguém sabe como resolver?? Valew!! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 24, 2009 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET > Web Applications Existe o Word no servidor? Se sim, é a mesma versão utizada na máquina de desenvolvimento? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Katsu 0 Denunciar post Postado Julho 27, 2009 Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET > Web Applications Existe o Word no servidor? Se sim, é a mesma versão utizada na máquina de desenvolvimento? Abraços... Existe sim. O servidor é minha própria máquina. Compartilhar este post Link para o post Compartilhar em outros sites
Katsu 0 Denunciar post Postado Julho 27, 2009 Eu encontrei um outro tópico aqui no forum onde um usuario teve o mesmo problema, mas n entendi bem o que ele fez pra resolver. Ja tentei rodar o IIS com o usuario Administrador, mas n deu certo. O tópico do cara é esse aqui: http://forum.imasters.com.br/index.php?/topic/224799-chamada-de-dll-roda-em-vb-mas-nao-em-asp/ Compartilhar este post Link para o post Compartilhar em outros sites
Katsu 0 Denunciar post Postado Julho 28, 2009 Eu consegui resolver o problema aqui. Quando tive problemas de permissões, acessar o objeto DCOM do documento do word no dcomcnfg e dar permissão para o usuário do asp.net. Foi então que surgiu o problema de macro. Para resolver esse problema, no mesmo objeto DCOM que eu dei permissões para o usuário do aspnet existe uma aba identidade. Nessa aba eu defini o usuario como sendo o administrador. Pronto. Funciona perfeito agora. Compartilhar este post Link para o post Compartilhar em outros sites