Remover extensões de código gerenciado de documentos
Você pode remover programaticamente o assembly de personalização de um documento ou pasta de trabalho que faz parte de uma personalização em nível de documento para o Microsoft Office Word ou Microsoft Office Excel. Os usuários podem abrir os documentos e exibir o conteúdo, mas qualquer interface do usuário personalizada que você adicionar aos documentos não será exibida e seu código não será executado.
Aplica-se a: As informações neste tópico se aplicam a projetos de nível de documento para Excel e Word. Para obter mais informações, consulte Recursos disponíveis por aplicativo e tipo de projeto do Office.
Você pode remover o assembly de personalização usando um dos RemoveCustomization
métodos fornecidos pelo Visual Studio Tools for Office runtime . O método usado depende se você deseja remover a personalização em tempo de execução (ou seja, executando código na personalização enquanto o documento do Word ou a pasta de trabalho do Excel está aberta) ou se deseja remover a personalização de um documento fechado ou de um documento que esteja em um servidor que não tenha o Microsoft Office instalado.
Para remover o assembly de personalização em tempo de execução
No código de personalização, chame o método (para Word) ou o RemoveCustomization RemoveCustomization método (para Excel). Esse método deve ser chamado somente depois que a personalização não for mais necessária.
Onde você chama esse método em seu código depende de como sua personalização é usada. Por exemplo, se os clientes usarem os recursos de personalização até que estejam prontos para enviar o documento para outros clientes que só precisam do documento em si (não da personalização), você poderá fornecer alguma interface do usuário que chame
RemoveCustomization
quando o cliente clicar nele. Como alternativa, se a personalização preencher o documento com dados quando ele for aberto pela primeira vez, mas a personalização não fornecer outros recursos acessados diretamente pelos clientes, você poderá chamar RemoveCustomization assim que a personalização terminar de inicializar o documento.
Para remover o assembly de personalização de um documento fechado ou de um documento em um servidor
Em um projeto que não requer o Microsoft Office, como um aplicativo de console ou projeto do Windows Forms, adicione uma referência ao assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll
Adicione a seguinte instrução Imports ou using à parte superior do arquivo de código.
Chame o ServerDocument método estático RemoveCustomization da classe e especifique o caminho do documento de solução para o parâmetro.
O exemplo de código a seguir pressupõe que você está removendo a personalização de um documento chamado WordDocument1.docx que está na área de trabalho.
string documentPath = System.Environment.GetFolderPath( Environment.SpecialFolder.Desktop) + @"\WordDocument1.docx"; int runtimeVersion = 0; try { runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath); if (runtimeVersion == 3) { ServerDocument.RemoveCustomization(documentPath); System.Windows.Forms.MessageBox.Show("The customization has been removed."); } } catch (FileNotFoundException) { System.Windows.Forms.MessageBox.Show("The specified document does not exist."); } catch (IOException) { System.Windows.Forms.MessageBox.Show("The specified document is read-only."); } catch (InvalidOperationException ex) { System.Windows.Forms.MessageBox.Show("The customization could not be removed.\n" + ex.Message); }
Crie o projeto e execute o aplicativo no computador onde você deseja remover a personalização. O computador deve ter o Visual Studio 2010 Tools for Office runtime instalado.