Cara mengotomatisasi PowerPoint dengan menggunakan Microsoft Foundation Classes Visual C++ 5.0 dan Visual C++ 6.0

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.

Klik disini untuk melihat versi Inggris dari artikel ini:237554
RINGKASAN
Artikel ini menjelaskan cara mengotomatisasi Microsoft PowerPoint dengan menggunakan Microsoft Foundation Classes (MFC) di Microsoft Visual C++ 5.0 dan Visual C++ 6.0.

Anda dapat menggunakan Microsoft Foundation Kelas untuk mengotomatisasi PowerPoint dan untuk menjalankan makro yang termuat dalam presentasi.
INFORMASI LEBIH LANJUT
Biasanya, Anda dapat menggunakan Wisaya kelas untuk membungkus semua fungsi-fungsi di perpustakaan jenis. Namun, Wisaya kelas mampu bungkus fungsi yang memerlukan sebuah argumen yang ketik SAFEARRAY dan akan menghasilkan pesan seperti berikut dalam header file.
  // method 'MyMethod' not emitted because of invalid return type or    parameter type				
Ketika Anda menggunakan kelas Wizard untuk menghasilkan wrapper kelas untuk Microsoft PowerPoint, Application::Run fungsi tidak akan dibungkus karena dibutuhkan sebuah argumen jenis SAFEARRAY. Anda masih dapat Application::Run dengan menggunakan InvokeHelper fungsi dengan DISPID 0x7e6. Untuk rincian tentang Menjalankan fungsi, Anda dapat memeriksa perpustakaan jenis PowerPoint dengan OLE/COM Viewer alat.

Langkah-langkah berikut menggambarkan bagaimana Anda dapat mengotomatisasi PowerPoint untuk memanggil Application::Run dan jalankan PowerPoint makro.

Langkah-langkah untuk membuat presentasi PowerPoint dengan makro

  1. Mulai Microsoft PowerPoint dan membuat presentasi baru dengan tiga slide kosong.
  2. Tekan ALT+F11 untuk memulai Editor Visual Basic.
  3. Dari Masukkan menu, klik Modul untuk memasukkan sebuah modul dalam presentasi baru.
  4. Tambahkan kode berikut ke modul.
       Sub ChangeBackColor()  'Change backcolor of slides 1, 2 and 3    With ActivePresentation.Slides.Range(Array(1, 2, 3))        .FollowMasterBackground = msoFalse        .Background.Fill.ForeColor.SchemeColor = ppAccent2    End With   End Sub   Sub ChangeText(vArray As Variant)    'Add a text box to each slide and use the text from the    'array passed into this procedure    Dim s As Slide    For i = 1 To ActivePresentation.Slides.Count        With ActivePresentation.Slides(i).Shapes.AddTextbox( _                        msoTextOrientationHorizontal, 186#, 54#, 336#, 36#)            .TextFrame.TextRange.Text = vArray(i - 1)            .TextFrame.TextRange.Font.Size = 60        End With    Next   End Sub						
  5. Simpan presentasi sebagai salah satu PowerPoint berikut, dan kemudian dekat:
    • Dalam PowerPoint 2007, menyimpan presentasi sebagai makro diaktifkan presentasi (*.pptm) dengan menggunakan nama file seperti C:\Pres.pptm.
    • Dalam PowerPoint 2003 dan versi sebelumnya dari PowerPoint, Simpan presentasi sebagai presentasi (* .ppt) dengan menggunakan nama file seperti C:\Pres.ppt.

Langkah-langkah untuk membuat aplikasi MFC

  1. Membuat MFC dialog kotak berbasis aplikasi baru bernama AutoPPT.
  2. Dari Lihat menu (atau tekan CTRL + W), pilih Wisaya kelas, dan kemudian ikuti langkah-langkah berikut:
    1. Klik Otomatisasi tab.
    2. Klik Menambahkan kelas, lalu klik Dari perpustakaan jenis.
    3. Temukan PowerPoint library, dan kemudian menambahkan perpustakaan jenis PowerPoint:
      • Untuk PowerPoint 2007, menambahkan Msppt.olb.
      • Untuk PowerPoint 2003, menambahkan Msppt.olb.
      • Untuk PowerPoint 2002, menambahkan Msppt.olb.
      • Untuk PowerPoint 2000, menambahkan Msppt9.olb.
      • Untuk PowerPoint 97, menambahkan Msppt8.olb.
  3. Pilih kotak dialog dengan ID sumber daya IDD_AUTOPPT_DIALOG. Menambahkan tombol ke kotak dialog, dan kemudian tambahkan kode berikut untuk handler untuk tombol itu.
       _Application	oApp;   if(!oApp.CreateDispatch("Powerpoint.Application"))   {        AfxMessageBox("Could not get Powerpoint application.");        return;   }   oApp.SetVisible(TRUE);   //Get the Presentations collection and open a presentation   Presentations oPresSet(oApp.GetPresentations());   CString strFilename;   //For PowerPoint 2007, change the file name to "c:\\pres.pptm"   strFilename = "c:\\pres.ppt";   _Presentation oPres(oPresSet.Open(strFilename, // Filename                                     true,        // Readonly                                     false,       // Untitled                                     true         // WithWindow                      ));		   //*************** How to Run PowerPoint Macros *********************   // Run "ChangeBackColor" macro in the presentation -- note that the   // "ChangeBackColor" macro requires no arguments   {       COleVariant vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);       static BYTE parms[] =             VTS_BSTR  VTS_VARIANT;       LPCTSTR lpszMacroName = "Pres.ppt!ChangeBackColor";       oApp.InvokeHelper(0x7e6, DISPATCH_METHOD, VT_EMPTY, NULL,  parms,                         lpszMacroName, //Macro Name                         &vOpt          //No arguments, for example, ignore                        );   }			   // Run "ChangeText" macro in the presentation;   // The macro requires three arguments -- the first two are strings   // and the last one is a long			   {        COleSafeArray saArgs;  //Create a 1-dimensional array with three                                //elements        DWORD numElements[1];        numElements[0]= 3;	        saArgs.Create(VT_VARIANT, 1, numElements);	        long index[1];        VARIANT v;        index[0]=0;		//Fill 1st element        CString sName("ABC");        VariantInit(&v);        v.vt= VT_BSTR;        v.bstrVal = sName.AllocSysString();        saArgs.PutElement(index, &v);        SysFreeString(v.bstrVal);        VariantClear(&v);        index[0]=1;		//Fill 2nd element        CString sCompany("XYZ");        VariantInit(&v);        v.vt= VT_BSTR;        v.bstrVal = sCompany.AllocSysString();        saArgs.PutElement(index, &v);        SysFreeString(v.bstrVal);        VariantClear(&v);        index[0]=2;		//Fill 3rd element        VariantInit(&v);        v.vt = VT_I4;        v.lVal=123;        saArgs.PutElement(index, &v);        VariantClear(&v);        static BYTE parms[] =              VTS_BSTR  VTS_VARIANT;        LPCTSTR lpszMacroName = "Pres.ppt!ChangeText";        oApp.InvokeHelper(0x7e6, DISPATCH_METHOD, VT_EMPTY, NULL, parms,                          lpszMacroName,   //Macro Name                          (VARIANT*)saArgs //Array of macro parameters                          );        saArgs.Detach();   }						
    Catatan Jika Anda terbungkus kelas perpustakaan jenis PowerPoint 2002, menambahkan argumen tambahan (palsu) untuk panggilan untuk metode terbuka.
  4. Tambahkan sesuai Sertakan pernyataan untuk Powerpoint header file.
    #include "msppt8.h" // use msppt9.h for 2000 or msppt.h for 2002, 2003, and 2007					
  5. Menambahkan baris kode berikut untuk permulaan CAutoPPTApp::InitInstance() fungsi.
         AfxOleInit();						
  6. Mengkompilasi dan menjalankan. Pilih tombol yang ditambahkan ke dialog kotak untuk menjalankan kode otomatisasi. Setelah kode selesai, PowerPoint akan tetap terlihat sehingga Anda dapat mengamati perubahan presentasi yang dibuat oleh macro.
REFERENSI
Untuk informasi lebih lanjut tentang mengotomatisasi PowerPoint menggunakan Visual C++, silakan lihat artikel berikut dalam Pengetahuan Microsoft Base:
180616 Cara menggunakan MFC untuk membuat dan menampilkan presentasi PowerPoint
PPT2007
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properti

ID Artikel: 237554 - Tinjauan Terakhir: 09/20/2011 14:41:00 - Revisi: 2.0

Microsoft Office PowerPoint 2007, Microsoft Office PowerPoint 2003, Microsoft PowerPoint 2002 Standard Edition, Microsoft PowerPoint 2000 Standard Edition, Microsoft PowerPoint 97 Standard Edition, Microsoft Visual C++ 5.0 Professional Edition

  • kbexpertiseinter kbautomation kbhowto kbmt KB237554 KbMtid
Tanggapan