วิธีการใช้ไลบรารีของชนิดสำหรับการทำงานอัตโนมัติของ Office จาก Visual c ++.NET

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 307473 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

บทความนี้อธิบายวิธีการสร้าง Visual c ++.NET โครงการซึ่งทำหน้าที่เป็นการที่ไคลเอ็นต์สำหรับโปรแกรมประยุกต์ที่มีคอมโพเนนต์วัตถุแบบจำลอง (COM) เข้ากันได้กับ Automation ตัวอย่างในบทความนี้ใช้ระดับชั้นมูลฐาน Microsoft (MFC) กับคลา wrappers สำหรับมีคอมโพเนนต์ของ Office

ข้อมูลเพิ่มเติม

ขั้นตอนต่อไปนี้แสดงให้เห็นถึงวิธีการสร้างไคลเอนต์ Automation อย่างง่าย มีขั้นตอนหลักสามขั้นตอนนี้:
  1. สร้างการไคลเอ็นต์การทำงานอัตโนมัติ
  2. เพิ่มรหัสเพื่อทำให้ Microsoft Excel
  3. รันไคลเอนต์ทำงานอัตโนมัติ
คุณสามารถใช้ขั้นตอนแรกการสร้างการทำงานอัตโนมัติใหม่ไคลเอ็นต์คำนึงถึงเซิร์ฟเวอร์ Automation ที่คุณกำลังใช้งาน ขั้นตอนที่สองเพิ่มรหัสเพื่อทำให้ Microsoft Excelจะระบุเฉพาะเจาะจงไปยังเซิร์ฟเวอร์ Automation

สร้างการทำงานอัตโนมัติที่ไคลเอ็นต์

  1. เริ่ม Microsoft Visual Studio .NET ในการแฟ้ม:เมนู คลิกใหม่แล้ว คลิกProject. เลือกแอพลิเคชัน mfcจากชนิดโครงการ c ++ Visual และชื่อแล้วโครงการ AutoProject
  2. เมื่อตัวช่วยสร้างการแอพลิเคชัน MFC ขึ้น คลิกชนิดของแอพลิเคชันกำหนดชนิดของแอพลิเคชันกล่องโต้ตอบที่ใช้แล้ว คลิกเสร็จสิ้น.
  3. ปรับเปลี่ยนidd_autoproject_dialogกล่องโต้ตอบเป็นดังนี้:
    1. เอาออกแบบป้ายชื่อตัวควบคุม (IDC_STATIC) และยกเลิกปุ่ม (IDCANCEL)
    2. ID ของการเปลี่ยนแปลงนั้นตกลงปุ่ม "IDRUN" และคำอธิบายเฉพาะ "รัน"
  4. สร้างคลา wrappers จากไลบรารีชนิดสำหรับเซิร์ฟเวอร์ Automation เป็นดังนี้:
    1. คลิกขวาใน Explorer โซลูชันAutoProjectแล้ว คลิกเพิ่มระดับชั้น.
    2. คลิกคลาสของ mfc จาก Typelibแล้ว คลิกOPEN.
    3. คลิกเพิ่มคลาสที่จาก: รีจิสทรีการค้นหาไลบรารีชนิดการลงทะเบียนไว้สำหรับการทำงานอัตโนมัติของเซิร์ฟเวอร์

      ตัวอย่างนี้ เลือก "ไลบรา Microsoft Excel 10.0 ชนิดรี" สำหรับ Microsoft ExcelXP หรือไลบรา "Microsoft Excel 9.0 ชนิดรี" สำหรับ Microsoft Excel 2000
    4. เลือก interface(s) ที่คุณต้องการจากรายการ และจากนั้น คลิกมากกว่าสัญลักษณ์ (>) เพื่อเพิ่มลงในรายการของอินเทอร์เฟซที่ MFC wrappers ที่สร้าง คลิกเสร็จสิ้นเมื่อคุณได้เพิ่มอินเทอร์เฟซทั้งหมด

      ตัวอย่างนี้ คุณเพียงต้องการ_Applicationอินเทอร์เฟซ

      สิ่งสำคัญถ้าไม่มีอินเทอร์เฟซจำนวนมากในไลบรารีชนิดที่คุณเลือก เลือกเฉพาะเฟซเหล่านั้นที่คุณจะใช้ได้เนื่องจาก MFC จะสร้างแฟ้มหัวข้อที่แยกต่างหากสำหรับแต่ละอินเทอร์เฟซที่เลือก โดยการลดเลือกอินเทอร์เฟซของคุณ คุณสามารถหลีกเลี่ยงค่าผลิตที่ไม่จำเป็นในระหว่างการสร้างแฟ้มและการคอมไพล์
  5. เพื่อโหลด และเปิดใช้งานไลบรารี COM บริการไปยังCAutoProjectApp::InitInstanceฟังก์ชัน เพิ่มรหัสต่อไปนี้:
    if(!AfxOleInit())  // Your addition starts here.
    {
      AfxMessageBox("Cannot initialize COM dll");
      return FALSE;
      // End of your addition.
    }
    
    AfxEnableControlContainer();
    					
  6. เพิ่มการ directive รวมสำหรับแต่ละส่วนหัวของแฟ้มที่สร้างจากอินเทอร์เฟซในไลบรารีชนิดของเซิร์ฟเวอร์ Automation เพิ่ม directives หลังจากใบแจ้งยอดรวมสำหรับ Stdafx.h ด้านบนของ AutoProjectDlg.cpp

    For this example, add an include for the CApplication.h header file, which is generated for the_Applicationinterface:
          #include "stdafx.h"
          #include "CApplication.h"
    					

Add code to automate Microsoft Excel

ในการIDD_AUTOPROJECT_DIALOGdialog box, right-clickเรียกใช้แล้ว คลิกAdd event handlerfrom the drop-down list box. In the Event Handler Wizard, select theBN_CLICKEDmessage type, and then clickAdd and Edit. Add the following code to automate Excel in the handler:
void CAutoProjectDlg::OnBnClickedRun()
{
   CApplication app;  // app is the Excel _Application object

   // Start Excel and get Application object.

   if(!app.CreateDispatch("Excel.Application"))
   {
      AfxMessageBox("Cannot start Excel and get Application object.");
      return;
   }
   else
   {
      //Make the application visible and give the user control of
      //Microsoft Excel.
      app.put_Visible(TRUE);
      app.put_UserControl(TRUE);
   }
} 
				

Run the Automation client

Press the F5 key to build and run the Automation client. When the dialog box appears, clickเรียกใช้. The Automation client starts Excel and makes the application visible. Notice that Excel remains running even when the Automation client ends because the user has been given control of the application.

หมายเหตุเพิ่มเติม

After you have added classes from a type library to your project, you may notice that they appear in the Class View of your project. In Class View, you can double-click a class to see the methods of that class, and then double-click the method to view the definition of that function in the implementation file of the MFC wrapper. You can review the definition of a member function if you want to verify a return type or if you must change an implementation of a function.

Although the earlier steps illustrate how to automate Microsoft Excel, you can apply the same ideas to automate other applications. The following list contains the file names for type libraries of other Microsoft Office applications:
ยุบตารางนี้ขยายตารางนี้
โปรแกรมประยุกต์ไลบรารีชนิด
Microsoft Access 97:Msacc8.olb
Microsoft Jet Database 3.5DAO350.dll
Microsoft Binder 97Msbdr8.olb
Microsoft Excel 97Excel8.olb
Microsoft Graph 97Graph8.olb
Microsoft Office 97Mso97.dll
Microsoft Outlook 97Msoutl97.olb
Microsoft PowerPoint 97Msppt8.olb
Microsoft Word 97Msword8.olb
Microsoft Access 2000Msacc9.olb
Microsoft Jet Database 3.51DAO360.dll
Microsoft Binder 2000Msbdr9.olb
Microsoft Excel 2000Excel9.olb
Microsoft Graph 2000Graph9.olb
Microsoft Office 2000Mso9.dll
Microsoft Outlook 2000:Msoutl9.olb
Microsoft PowerPoint 2000Msppt9.olb
Microsoft Word 2000Msword9.olb
Microsoft Access 2002Msacc.olb
Microsoft Excel 2002Excel.exe
Microsoft Graph 2002Graph.exe
Microsoft Office 2002Mso.dll
Microsoft Outlook 2002MSOutl.olb
Microsoft PowerPoint 2002MSPpt.olb
Microsoft Word 2002MSWord.olb
การเข้าถึงของ Microsoft Office 2003Msacc.olb
Microsoft Office Excel 2003Excel.exe
กราฟของ Microsoft Office 2003Graph.exe
Microsoft Office 2003Mso.dll
Microsoft Office Outlook 2003:MSOutl.olb
Microsoft Office PowerPoint 2003MSPpt.olb
Microsoft Office Word 2003MSWord.olb
Microsoft Office Access 2007Msacc.olb
Microsoft Office Excel 2007Excel.exe
Microsoft Office Graph 2007Graph.exe
2007 Microsoft OfficeMso.dll
Microsoft Office Outlook 2007MSOutl.olb
Microsoft Office PowerPoint 2007MSPpt.olb
Microsoft Office Word 2007MSWord.olb
หมายเหตุ:ตำแหน่งที่ตั้งเริ่มต้นสำหรับไลบรารีชนิดเหล่านี้คือ:
ยุบตารางนี้ขยายตารางนี้
รุ่นของ officeเส้นทาง
office 97C:\Program Office\Office Files\Microsoft
office 2000C:\Program Office\Office Files\Microsoft
Office XPC:\Program Office\Office10 Files\Microsoft
Office 2003C:\Program Office\Office11 Files\Microsoft
2007 OfficeC:\Program Files\Microsoft Office\OFFICE12
The default location for Dao350.dll and Dao360.dll is C:\Program Files\Common Files\Microsoft Shared\Dao.

ข้อมูลอ้างอิง

For more general information about Visual C++ .NET, see the following Usenet newsgroup:
Microsoft.public.dotnet.languages.vc
Visit the Visual C++ .NET Support Center at the following Microsoft Web site:
http://support.microsoft.com/default.aspx?xmlid=fh%3BEN-US%3Bvcnet

คุณสมบัติ

หมายเลขบทความ (Article ID): 307473 - รีวิวครั้งสุดท้าย: 6 ตุลาคม 2554 - Revision: 5.0
ใช้กับ
  • Microsoft Visual C++ 2002 Standard Edition
  • Microsoft Office Professional 2007
  • Microsoft Office Professional Edition 2003
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Office 97 Developer Edition
Keywords: 
kbexpertiseinter kbautomation kbhowto kbnewsgrouplink kbmt KB307473 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:307473

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com