Como manipular eventos do PowerPoint com o Visual translation from VPE for Csharp .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 308825
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 308330.
Para um Microsoft Visual C++ .NET versão deste artigo, consulte 309309.
Sumário
Este artigo demonstra como automatizar o PowerPoint e manipular eventos usando Visual translation from VPE for Csharp. NET.
Mais Informações
Com o Microsoft Visual Studio. NET, você não pode usar representantes para coletar eventos com o Microsoft PowerPoint 2002. O PowerPoint usa a interface IDispatch para disparar eventos. Para coletar corretamente os eventos, o aplicativo .NET translation from VPE for Csharp Visual deve usar as interfaces IConnectionPointContainer e IConnectionPoint . O aplicativo de recebimento também deve saber os DISPIDs dos eventos para coletor. Esses DISPIDs não estão listados na biblioteca de tipos do PowerPoint, mas listados no código de exemplo abaixo para referência.

Criar o cliente de automação do exemplo translation from VPE for Csharp

  1. Inicie o Microsoft Visual Studio NET.. No menu arquivo , clique em novo e, em seguida, clique em Project . Clique em Project types em projetos translation from VPE for Csharp Visual , clique Windows Application em modelos . O Form1 é criado por padrão.
  2. Adicione uma referência à Biblioteca de objetos do Microsoft PowerPoint . Para fazer isso, execute as seguintes etapas:
    1. No menu Project , clique em Add Reference .
    2. Na guia COM , localize Microsoft Powerpoint 10.0 Object Library e, em seguida, clique em Selecionar . Observação : se você ainda não fez isso, é recomendável que você baixe e instale o Microsoft Office XP Primary Interop Assemblies (PIAs). Para obter mais informações sobre PIAs do Office XP, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
      328912INFO: Microsoft Office XP PIAs estão disponíveis para download
    3. Clique em OK na caixa de diálogo Add References para aceitar sua seleção.
  3. No menu Exibir , clique em caixa de ferramentas para exibir a caixa de ferramentas e adicione dois botões e uma caixa de listagem ao Form1.
  4. Em seqüência, clique duas vezes em Button1 , Button2 e Form1 .
  5. Na janela código, substitua o código a seguir
    private void button1_Click(object sender, System.EventArgs e){}private void button2_Click(object sender, System.EventArgs e){		}private void Form1_Load(object sender, System.EventArgs e){} 					
    com:
    private UCOMIConnectionPoint m_oConnectionPoint;private int m_Cookie;private PowerPoint.ApplicationClass oPPT;private void button1_Click(object sender, System.EventArgs e){	// QI for IConnectionPointContainer.	UCOMIConnectionPointContainer oConnPointContainer = (UCOMIConnectionPointContainer) oPPT;	// Get the GUID of the EApplication interface.	Guid guid=typeof(PowerPoint.EApplication).GUID;	// Find the connection point.	oConnPointContainer.FindConnectionPoint(ref guid,out m_oConnectionPoint);	// Call Advise to sink up the connection.	m_oConnectionPoint.Advise(this,out m_Cookie);}[DispId(2001)]public void WindowSelectionChange(PowerPoint.Selection Sel){	this.listBox1.Items.Add("WindowSelectionChange");}[DispId(2002)]public void WindowBeforeRightClick(PowerPoint.Selection Sel,bool Cancel) {	this.listBox1.Items.Add("WindowBeforeRightClick");}[DispId(2003)]public void WindowBeforeDoubleClick(PowerPoint.Selection Sel,bool Cancel) {	this.listBox1.Items.Add("WindowBeforeDoubleClick");}[DispId(2004)]public void PresentationClose(PowerPoint.Presentation Pres) {	this.listBox1.Items.Add("PresentationClose");}[DispId(2005)]public void PresentationSave(PowerPoint.Presentation Pres) {	this.listBox1.Items.Add("PresentationSave");}[DispId(2006)]public void PresentationOpen(PowerPoint.Presentation Pres) {	this.listBox1.Items.Add("PresentationOpen");}[DispId(2007)]public void NewPresentation(PowerPoint.Presentation Pres) {	this.listBox1.Items.Add("NewPresentation");}[DispId(2008)]public void PresentationNewSlide(PowerPoint.Slide Sld) {	this.listBox1.Items.Add("PresentationNewSlide");}[DispId(2009)]public void WindowActivate(PowerPoint.Presentation Pres,PowerPoint.DocumentWindow Wn) {	this.listBox1.Items.Add("WindowActivate");}[DispId(2010)]public void WindowDeactivate(PowerPoint.Presentation Pres,PowerPoint.DocumentWindow Wn) {	this.listBox1.Items.Add("WindowDeactivate");}[DispId(2011)]public void SlideShowBegin(PowerPoint.SlideShowWindow Wn) {	this.listBox1.Items.Add("SlideShowBegin");}[DispId(2012)]public void SlideShowNextBuild(PowerPoint.SlideShowWindow Wn) {	this.listBox1.Items.Add("SlideShowNextBuild");}[DispId(2013)]public void SlideShowNextSlide(PowerPoint.SlideShowWindow Wn) {	this.listBox1.Items.Add("SlideShowNextSlide");}[DispId(2014)]public void SlideShowEnd(PowerPoint.Presentation Pres) {	this.listBox1.Items.Add("SlideShowEnd");}[DispId(2015)]public void PresentationPrint(PowerPoint.Presentation Pres) {	this.listBox1.Items.Add("PresentationPrint");}[DispId(2016)]public void SlideSelectionChanged(PowerPoint.SlideRange SldRange) {	this.listBox1.Items.Add("SlideSelectionChanged");}[DispId(2017)]public void ColorSchemeChanged(PowerPoint.SlideRange SldRange) {	this.listBox1.Items.Add("ColorSchemeChanged");}[DispId(2018)]public void PresentationBeforeSave(PowerPoint.Presentation Pres,bool Cancel) {	this.listBox1.Items.Add("PresentationBeforeSave");} [DispId(2019)]public void SlideShowNextClick(PowerPoint.SlideShowWindow Wn,PowerPoint.Effect nEffect){	this.listBox1.Items.Add("SlideShowNextClick");}private void button2_Click(object sender, System.EventArgs e){	m_oConnectionPoint.Unadvise(m_Cookie);	System.Runtime.InteropServices.Marshal.ReleaseComObject(oPPT);	GC.Collect();}private void Form1_Load(object sender, System.EventArgs e){	//Create an instance of PowerPoint.	oPPT = new PowerPoint.ApplicationClass();	// Show PowerPoint to the user.	oPPT.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;	} 					
  6. Adicione o seguinte à seção usando na parte superior da janela de código:
    using System.Runtime.InteropServices;					
  7. Teste o programa. Para fazer isso, execute as seguintes etapas:
    1. Pressione F5 para compilar e executar o programa. PowerPoint for iniciado.
    2. Clique em Button1 para configurar os receptores de evento.
    3. Crie uma nova apresentação no PowerPoint.

      O WindowActivate , NewPresentation , PresentationNewSlide e WindowSelectionChange eventos acionam.
    4. Salve a apresentação.

      O evento PresentationSave é acionado.
    5. Feche a apresentação.

      O evento PresentationClose é acionado.
    6. Ative Form1 no programa. Os eventos que foram disparados pelo PowerPoint e manipulados pelo programa aparecem na caixa lista.
    7. Clique em Button2 para desconectar receptores de evento.
    8. Feche Formulário1 .
Referências
Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
254009INFO: PowerPoint 2000 eventos demonstração disponível para download
Para obter mais informações sobre automação do Office, consulte o seguinte site Suporte Microsoft Office Development:
Perguntas freqüentes e destaques para o desenvolvimento do Office
http://support.microsoft.com/ofd
conexão de ponto de energia do PowerPoint cs evento

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 308825 - Última Revisão: 12/06/2015 06:03:33 - Revisão: 5.2

Microsoft Visual C# .NET 2002 Standard Edition, Microsoft PowerPoint 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbautomation kbconnpts kbhowto KB308825 KbMtpt
Comentários