Articles of office interop

Como posso me concentrar em um documento do Word que acabei de abrir por meio da interoperabilidade?

Estou escrevendo um aplicativo Word Interop simples que abre um arquivo .doc em segundo plano, altera o conteúdo dos favoritos e o torna visível para o usuário: var App = new Microsoft.Office.Interop.Word.Application(); var ParTemplate = (object)Template; var ParVisible = (object)false; var Doc = App.Documents.Open( FileName: ref ParTemplate, // Template ConfirmConversions: ref missing, ReadOnly: ref missing, […]

Impedir que os campos do documento do Word sejam atualizados quando abertos

Eu escrevi um utilitário para outra equipe que recursivamente passa por pastas e converte os documentos do Word encontrados em PDF usando o Word Interop com C #. O problema que estamos tendo é que os documentos foram criados com campos de data que atualizam para a data de hoje antes de serem salvos. Eu […]

Como adicionar texto em documentos do Word em uma posição específica?

Como escrevo para uma posição específica em um documento do Word, por exemplo, linha 5, caractere 50? Eu pesquisei por algumas horas, mas não consegui encontrar uma solução. Estou usando o Microsoft.Office.Interop.Word

Como imprimir um docx para uma impressora específica usando o Microsoft.Office.Interop.Word.Document.PrintOut ()

Isso parece uma necessidade tão simples, mas, por algum motivo, não consigo descobrir como posso conseguir isso. Eu tenho código assim: Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application(); MemoryStream documentStream = getDocStream(); FileInfo wordFile = new FileInfo(“c:\\test.docx”); object fileObject = wordFile.FullName; object oMissing = System.Reflection.Missing.Value; Microsoft.Office.Interop.Word.Document doc = wordInstance.Documents.Open(ref fileObject, ref oMissing, ref oMissing, ref oMissing, ref […]

Como depurar o construtor de interoperabilidade de aplicativos do Office lento?

Eu tenho um aplicativo que lida com o excel. Recentemente eu encontrei um problema com a criação muito lenta do object Excel. Eu recriou o problema com este código simples: Microsoft.Office.Interop.Excel.Application xlApp; xlApp = new Microsoft.Office.Interop.Excel.Application(); A segunda linha faz com que o atraso. Para medir o tempo necessário para a alocação de novos objects, […]

C #: criar / inserir charts do Excel 2007 no Word 2007

Como você cria e insere um gráfico do Excel 2007 no Word 2007 com interoperabilidade de escritório? Importante: Eu não quero salvar um arquivo do Excel para criar um gráfico.

Como devo declarar um Microsoft.Office.Interop.Excel.Worksheet para que eu possa fechá-lo em c #?

Estou tendo dificuldade em garantir que meus objects COM estão fechando, portanto, não estou deixando um processo EXCEL.EXE em execução em segundo plano. Eu aprendi que o ponto duplo e o encadeamento de declarações é ruim, pois isso poderia deixar os objects COM por perto. Alguém sabe como corrigir essa linha de código para que […]

O Microsoft.office.interop.word.dll pode funcionar sem instalar o Office?

Meu aplicativo ASP.Net-C # funciona com mailmerge e a dll pelo nome Microsoft.Office.Interop.Word.dll V14.0.0.0. Tudo está bem no meu desktop (onde o escritório está instalado). No entanto, quando este aplicativo é implementado na máquina de produção, o seguinte erro é lançado: System.Runtime.InteropServices.COMException (0x80040154): Recuperando a fábrica de class COM para o componente com {000209FF-0000-0000-C000-000000000046} CLSID […]

Detecando documentos PPT e XLS protegidos por senha

Eu encontrei esta resposta https://stackoverflow.com/a/14336292/1537195 que deu uma boa maneira de detectar a proteção por senha para arquivos DOC e XLS. //Flagged with password if (bytes.Skip(0x20c).Take(1).ToArray()[0] == 0x2f) return true; //XLS 2003 if (bytes.Skip(0x214).Take(1).ToArray()[0] == 0x2f) return true; //XLS 2005 if (bytes.Skip(0x20B).Take(1).ToArray()[0] == 0x13) return true; //DOC 2005 No entanto, não parece cobrir todos os […]

Como carregar o documento do Word a partir da matriz de bytes

Eu tenho todo o arquivo do MS Word salvo em uma matriz de bytes. Quero carregá-lo da maneira que eu faria se estivesse no sistema de arquivos, mas com o uso mínimo de Microsoft.Office.Interop.Word porque é muito lento quando fica a parte .Open(args[]) .