Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
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.
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
Mulai Microsoft PowerPoint dan membuat presentasi baru
dengan tiga slide kosong.
Tekan ALT+F11 untuk memulai Editor Visual Basic.
Dari Masukkan menu, klik Modul untuk memasukkan sebuah modul dalam presentasi baru.
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
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
Membuat MFC dialog kotak berbasis aplikasi baru bernama AutoPPT.
Dari Lihat menu (atau tekan CTRL + W), pilih Wisaya kelas, dan kemudian ikuti langkah-langkah berikut:
Klik Otomatisasi tab.
Klik Menambahkan kelas, lalu klik Dari perpustakaan jenis.
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.
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.
Tambahkan sesuai Sertakan pernyataan untuk Powerpoint
header file.
#include "msppt8.h" // use msppt9.h for 2000 or msppt.h for 2002, 2003, and 2007
Menambahkan baris kode berikut untuk permulaan CAutoPPTApp::InitInstance() fungsi.
AfxOleInit();
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.
Untuk informasi lebih lanjut tentang mengotomatisasi PowerPoint
menggunakan Visual C++, silakan lihat artikel berikut dalam Pengetahuan Microsoft
Base:
180616
(http://support.microsoft.com/kb/180616/
)
Cara menggunakan MFC untuk membuat dan menampilkan presentasi PowerPoint
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
(http://go.microsoft.com/fwlink/?LinkId=151500)
for other considerations.
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
(http://support.microsoft.com/kb/237554/en-us/
)
Seberapa besar upaya Anda untuk menggunakan artikel ini?
Sangat sedikit
Sedikit
Sedang
Besar
Sangat besar
Berikan saran tentang apa yang dapat kami lakukan untuk menyempurnakan informasi ini
Terima kasih! Masukan Anda akan digunakan untuk membantu kami meningkatkan konten dukungan. Untuk opsi bantuan lainnya, kunjungi Halaman Beranda Bantuan dan Dukungan.