Share via


Atualizando de Visual Studio Tools for Office, versão 2003

Após a Atualizar de O Visual Studio Tools for Office, versão 2003 a Microsoft Visual Studio 2005 Tools para o Microsoft Office Sistema (Ferramentas do Visual Studio para o Office), você deve executar algumas etapas da Atualizar para projetos de nível de documento manualmente.

In the Novo Projeto sistema, os modelos de código do projeto alterou significativamente.O projeto atualizado tiver o Novo Projeto estrutura, mas seu código permanece no arquivo de código original que foi baseado no modelo de código de projeto anterior.Para habilitar a solução executar imediatamente após a Atualizar, o Novo Projeto classe instancia a classe importado antigo (a classe original que foi nomeada OfficeCodeBehind por padrão).Para fazer um Concluir Atualizar, você deve mova o código da classe OfficeCodeBehind antigo para o novo documento, pasta de trabalho ou planilha classe conforme descrito neste tópico.

Novo Projeto Sistema e estrutura

O sistema do projeto no O Visual Studio Tools for Office, versão 2003 tinha um Simples arquivo de classe principal para o seu código.O Novo Projeto sistema apresenta uma estrutura de Contêiner no Solução Explorer que representa o documento ou pasta de trabalho.Os arquivos de classe para seu código estão sob a estrutura do Contêiner.Sob essas classe arquivos são arquivos ocultos que contêm o código gerado pelo Ferramentas do Visual Studio para o Office.É melhor não modificar o código em arquivos ocultos, pois eles podem ser regenerados durante o desenvolvimento e suas alterações serão perdidas.

Pasta de trabalho do Excel e projetos de modelo

Projetos de pasta de trabalho e modelo do Excel agora contêm um arquivo de classe separada para cada planilha e um arquivo de classe para a pasta de trabalho como um todo.Código é específico para uma planilha, como o código que responde a um Controlarar em uma planilha, deve ser colocado na classe de folha.Para novos documentos, por padrão, essas classes são nomeados Sheet1.vb ou Sheet1.cs, Sheet2.vb ou Sheet2.cs e assim por diante.Código que afeta a pasta de trabalho em geral, como o evento de Open da pasta de trabalho, o evento BeforeClose e código do painel de ações, deve ser colocado na classe pasta de trabalho.Por padrão, essa classe é chamada ThisWorkbook.vb ou ThisWorkbook.cs.

Documento do Word e projetos de modelo

Projetos de documento e modelo do Word têm um arquivo de código para conter Tudo o código relacionado ao documento.Por padrão, essa classe é chamada ThisDocument.vb ou ThisDocument.cs.

For more information, see Modelos de projeto do Office.

Atualizar processo

Quando você Atualizar seu projeto, o Visual Studio executa as seguintes tarefas:

  • Atualiza o projeto está de acordo com o Novo Arquivo estrutura de Formatarar e o projeto.

  • Copia o documento existente para o Novo Projeto pasta.

  • Remove as propriedades do documento Personalizar _AssemblyName0 e _AssemblyLocation0 para evitar existente gerenciado extensões de Executando de código (essas propriedades são Adicionado novamente quando o projeto é criado).

  • Adiciona o arquivo de código principal original mas incorpora os comentários para explicar o que aconteceu e altera o nome do arquivo de < NomeDoDocumento > para < NomeDoDocumento > (antigo).

  • Adiciona Tudo arquivos de o projeto original para o novo projeto.

  • Adiciona Tudo as referências existentes para o novo projeto.

Nenhum do código existente é migrado para as Novo classes.Em vez disso, o método de _Startup da classe principal antigo é chamado do método Startup da Novo classe principal.Isso cria a classe antiga para que a solução seja executada da mesma maneira que fazia com a versão antiga.

O nome padrão da classe em < NomeDoDocumento >(antigo) é OfficeCodeBehind.Em um projeto atualizado do Word, o nome de padrão da classe principal é ThisDocument.Em um projeto atualizado do Excel, os nomes de padrão das classes principais são ThisWorkbook para a classe que inclui código que é executado no nível da pasta de trabalho e Sheet1, Sheet2, e assim por diante para código que é executado no nível da planilha.

Para concluir a Atualizar, você deve:

  • Mover seu código manualmente da classe antigo (que tinha o nome padrão de OfficeCodeBehind) para o novo documento, pasta de trabalho e classes de Planilha e, em seguida, Excluir o arquivo de código antigo.No entanto, se você quiser simplesmente manter o código existente como, você pode deixar o arquivo de código antigo e executar o código, chamando-lo de Novo classes.Qualquer novo código adicionado pelas ferramentas é colocado nas novas classes.

  • Atualizar seu código conforme descrito abaixo.

  • Substituir Tudo controles ActiveX com controles gerenciados.

Opcionalmente, você também pode:

  • Refatorar seu código C#.

Mover o código de a classe principal antigo para a Novo classe

É recomendável que você mover seu código de fora da classe antiga e para as Novo classes, para que você pode tirar proveito das ferramentas no Visual Studio.As ferramentas usar automaticamente as Novo classes quando eles geram código.Por exemplo, se você adicionar um botão ao seu documento e clique Duplo nele para ir para o código, o manipulador de eventos padrão é adicionado para a Novo classe.

Se você estiver atualizando uma solução do Excel, não deixe de pensar sobre a qual classe deve conter cada método que você mover sobre.Se o método geralmente pertença a pasta de trabalho e / ou todas as planilhas, você deve colocar o código na classe ThisWorkbook.Se o código diz respeito a uma planilha, por exemplo o código para um Controlarar em uma planilha, o código pertence na classe folha apropriado.

Para obter ajuda ao iniciar, o código gerado na Novo ThisDocument ou ThisWorkbook classe contém métodos de espaço reservado comentado.Você pode usar esses métodos de uma destas duas maneiras:

  • Coloque Tudo do seu código fora da classe antigo e coloque-para as Novo classes fornecidas na solução atualizada.

  • Gravar código os novos métodos para chamar os métodos antigos na classe antiga.Para que isso funcione, você deve alterar os métodos da classe antigo para que não sejam particulares.

Exemplos

A seguir estão exemplos de métodos de espaço reservado que instanciar os métodos de classe e chamada antigos em que classe:

Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Startup

    OldCode = New OfficeCodeBehind()
    OldCode._Startup(Me.ThisApplication, Me)
End Sub

''Private Sub ThisDocument_Open() Handles MyBase.Open
''    OldCode.ThisDocument_Open()
''End Sub
''
''Private Sub ThisDocument_Close() Handles MyBase.CloseEvent
''    OldCode.ThisDocument_Close()
''End Sub
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
    OldCode = new OfficeCodeBehind();
    OldCode._Startup(this.Application, this);
}

//private void ThisDocument_Open()
//{
//    OldCode.ThisDocument_Open()
//}
//
//private void ThisDocument_Close(ref bool Cancel)
//{
//    OldCode.ThisDocument_Close(ref Cancel)
//}

Afinal de contas de seu código tenha sido movida sobre para as Novo classes, Remover a classe antiga.

Atualizar seu código

Há algumas alterações que talvez precise feito ao seu código se o código existente refere-se a Application, chama certos eventos ou métodos ou depende do evento Open.

Aplicativo de qualificação

O Visual Studio Tools for Office, versão 2003, o uso não qualificado de Application chamado o tipo de System.Windows.Forms.Application.Na Ferramentas do Visual Studio para o Office, ele se refere ao objeto de Application Word ou Excel.Isso significa que você deve atualizar qualquer referência não qualificada para Application com o Namespace totalmente qualificado System.Windows.Forms.Application para obter os mesmos resultados.Por exemplo, se você usar código como Application.Run(New Form1) para abrir um formulário, você deve reconfigurá-lo como System.Windows.Forms.Application.Run(New Form1).

Renomear métodos e eventos

Word e Excel expor alguns eventos que têm os mesmos nomes dos métodos no modelo de objeto.Por exemplo, documentos do Word ter um evento de Fechar e um método Fechar.Código de solução de Ferramentas do Visual Studio para o Office requer um nome diferente para um dos membros; você deve substituir quaisquer referências existentes para os seguintes membros com os novos nomes.

Word.Documento

Excel.Planilha

Excel.Workbook

Excel.Gráfico

Manipular o evento AAbrir

Projetos atualizados não aumente o evento de Open para pastas de trabalho do Excel ou o evento Open para documentos do Word.Se seu código depende do evento de Open , você deve mover seu código para o manipulador de eventos ThisWorkbook_Open() na Novo classe ThisWorkbook para pastas de trabalho do Excel, ou o manipulador de eventos ThisDocument_Open() na Novo classe ThisDocument para documentos do Word.Como alternativa, você pode chamar o manipulador de eventos Open do método da classe original _StartupOfficeCodeBehind.

Substituindo os controles ActiveX por controles gerenciados

Se você usou controles ActiveX em seu documento ou pasta de trabalho, você deve Excluir-los e substitui-los com controles gerenciados do Visual Studio De caixa de ferramentas.Os controles ActiveX têm limitações nos novos projetos Ferramentas do Visual Studio para o Office; Por exemplo, você não pode Ligar dados a controles ActiveX, e você deve usar um assembly de interoperabilidade especial para ser capaz de código contra eles.Por esse motivo, os controles ActiveX não há suporte para uso em novos projetos de Ferramentas do Visual Studio para o Office.

Refatorar seu código (C# somente)

O Visual Studio fornece ferramentas para Ajuda você Organizar e combine o código C#, um processo que é conhecido como refatoração.Um menu de De Refatorar que contém essas ferramentas é adicionado ao Visual Studio quando o arquivo de código é Abrir no editor de código.For more information, see Refatoração.

Consulte também

Tarefas

Como: Atualizar soluções de Visual Studio Tools para Office

Conceitos

Assemblies em Visão geral de soluções do Office

Atualizando e Migrando soluções do Office