วิธีการสร้างโครงการดำเนินการอัตโนมัติที่ใช้ MFC และไลบรารีชนิด

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

เนื้อหาบนหน้านี้

สรุป

บทความนี้แสดง รายละเอียด วิธีการทำให้เป็นอัตโนมัติ รวมส่วนประกอบกับโปรแกรมประยุกต์ที่เข้ากันได้กับ COM เช่น Microsoft โปรแกรมประยุกต์ office

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

ส่วนต่อไปนี้แสดงให้เห็นถึงวิธีสร้างภาพ MFC โครงการ ตัวอย่างต่าง ๆ โดยอัตโนมัติ Microsoft Excel คุณสามารถใช้ขั้นตอนที่ 8 ก่อน สำหรับโครงการใด และการปรับเปลี่ยนขั้นตอนที่ 9 ถึง 15 เมื่อคุณทำงานกับอีก แอพลิเคชัน

สร้างโครงการการทำงานโดยอัตโนมัติ

  1. ด้วย Studio สำหรับนักพัฒนา Microsoft เริ่มต้นแบบใหม่ "MFC AppWizard (exe) "โครงการที่ชื่อว่า"AutoProject"
  2. ในขั้นตอนที่ 1 ของ MFC AppWizard เลือก "การโต้ตอบโดยใช้" สำหรับ ชนิดของโปรแกรมประยุกต์จากนั้นคลิกเสร็จสิ้น

    โครงการใหม่ กล่องโต้ตอบปรากฏขึ้น และบ่งชี้ว่า คลาสที่ต้องการจะสร้าง รวม:
          Application: CAutoProjectApp in AutoProject.h and AutoProject.cpp
          Dialog: CAutoProjectDlg in AutoProject.h and AutoProjectDlg.cpp
    						
    คลิกตกลงเพื่อสร้างโครงการ
  3. กล่องโต้ตอบ "IDD_AUTOPROJECT_DIALOG" เปิดใน Visual พื้นที่การออกแบบ/แก้ไข studio ปรับเปลี่ยนตามที่แนะนำในถัดไป ขั้นตอนที่สอง
  4. เอาตัวควบคุมป้ายชื่อ (IDC_STATIC) และปุ่มยกเลิก (IDCANCEL)
  5. เปลี่ยนชื่อของปุ่ม'ตกลง'เพื่อ "IDRUN" และคำอธิบายเฉพาะ เมื่อต้องการ "รัน" ปิดแบบฟอร์มออกแบบกล่องโต้ตอบ AutoProject.rc
  6. คลิก' ClassWizard 'บนเมนู'มุมมอง' (หรือกด CTRL + W)
  7. เลือก IDRUN เลือกแท็บการแมปข้อความในรหัสวัตถุ รายการกล่อง และเลือก "BN_CLICKED" ในกล่องเลือกรายการข้อความ คลิกเพิ่มฟังก์ชัน และยอมรับชื่อฟังก์ชัน "OnRun" คลิกตกลงเพื่อปิด ClassWizard

    หมายเหตุ: ขั้นตอนนี้เพิ่มการประกาศสำหรับสมาชิกของฟังก์ชัน "OnRun() กับหัวข้อ ไฟล์ชื่อ AutoProjectDLG.h ขั้นตอนนี้ยังเพิ่มการ ลบข้อมูลในฟังก์ชันตัวจัดการข้อความ skeleton ที่ชื่อว่า CAutoProjectDlg::OnRun() เพื่อ แฟ้มที่ชื่อว่า AutoProjectDLG.cpp
  8. คลิก' ClassWizard 'บนเมนู'มุมมอง' (หรือกด CTRL + W)
  9. เลือกแท็บ Automation คลิคลาสเพิ่ม และเลือก" แบบชนิดไลบรารี การนำทางให้เลือกไลบรารีวัตถุสำหรับโปรแกรมประยุกต์ที่คุณ ต้องการโดยอัตโนมัติ (สำหรับตัวอย่างนี้ก็ตาม ถ้าคุณกำลังทำการโดยอัตโนมัติ Excel 97 เลือก ไลบรารีวัตถุ Microsoft Excel 8.0 ตำแหน่งที่ตั้งเริ่มต้นคือ C:\Program Files\Microsoft Office\Office\Excel8.olb)

    ถ้าคุณทำโดยอัตโนมัติ Microsoft Excel 2000, Microsoft Excel 9.0 การไลบรารีวัตถุที่เลือกที่จะ ตำแหน่งที่ตั้งเริ่มต้นคือ C:\Program Files\Microsoft Office\Office\Excel9.olb

    ถ้าคุณกำลังทำให้ Microsoft Excel 2002 และ Microsoft Office Excel 2003 โดยอัตโนมัติ ไลบรารีวัตถุที่ถูกฝังอยู่ในแฟ้ม Excel.exe ตำแหน่งที่ตั้งเริ่มต้นสำหรับ Excel.exe ใน Office 2002 คือ C:\program Files\Microsoft Office\Office10\Excel.exe ตำแหน่งที่ตั้งเริ่มต้นสำหรับ Excel.exe ใน Office 2003 C:\program Office\Office11\Excel.exe ของ Files\Microsoft เมื่อคุณเลือก ไลบรารีวัตถุที่เหมาะสม คลิกเปิด เลือกประเภทสินค้าทั้งหมดในการยืนยัน คลารายการ จากนั้นคลิกตกลง

    หมายเหตุ: กล่องรายการในการยืนยัน กล่องโต้ตอบของคลาสที่ประกอบด้วยอินเตอร์เฟส IDispatch (ซึ่งมีทั้งหมด แบบเสมือนจริงเหมือนกับคลาสที่) ในไลบรารีชนิดของ Microsoft Excel ในการ ครึ่งล่างของกล่องโต้ตอบที่คุณจะเห็นว่า ชื่อแฟ้มที่มีการใช้งาน Excel8.cpp ประกอบด้วย wrappers คลาสที่สร้างมาจาก ColeDispatchDriver() และแฟ้มหัวข้อประกาศที่เหมาะสมถูกตั้งชื่อว่า Excel8.h (สำหรับ Excel 2002 และ Excel 2003 ไฟล์ที่ชื่อ Excel.cpp และ Excel.h)
  10. คลิกตกลงเพื่อปิดกล่องโต้ตอบ MFC ClassWizard
  11. เพิ่มรหัสต่อไปนี้ไปยัง ฟังก์ชัน CAutoProjectApp::InitInstance() ซึ่งโหลด และช่วยให้การ COM ไลบรารีของบริการ:
          BOOL CAutoProjectApp::InitInstance()
          {
             if(!AfxOleInit())  // Your addition starts here
             {
                AfxMessageBox("Could not initialize COM dll");
                return FALSE;
             }                 // End of your addition
    
             AfxEnableControlContainer();
          .
          .
          .
    
          }
    					
  12. เพิ่มรายการต่อบรรทัด#รวมคำสั่งที่จะ ด้านบนของแฟ้มโปรแกรม AutoProject.cpp:
          #include <afxdisp.h>
    					
  13. เพิ่มงบรวมสำหรับ excel8.h หลังจากการรวมตัว คำชี้แจงสำหรับ stdafx.h อยู่ด้านบนของแฟ้มโปรแกรม AutoProjectDlg.cpp:
          #include "stdafx.h"
          #include "excel8.h" // excel.h in the case of Excel 2002 and Excel 2003.
    					
  14. เพิ่มรหัสการทำงานโดยอัตโนมัติไป CAutoProjectDlg::OnRun() เพื่อให้ ปรากฏดังแสดงด้านล่าง:
          void CAutoProjectDlg::OnRun()
          {
              _Application app;  // app is the Excel _Application object
    
              // Start Excel and get Application object...
             if(!app.CreateDispatch("Excel.Application"))
             {
                AfxMessageBox("Couldn't start Excel.");
             }
             else
             {
                //Make Excel Visible and display a message
              app.SetVisible(TRUE);
              AfxMessageBox ("Excel is Running!");
             }
          }
    					
  15. สร้าง และเรียกใช้โครงการ ผลลัพธ์: เมื่อคุณคลิกเรียกใช้ จะเปิดปุ่มในกล่องโต้ตอบ Microsoft Excel เปิดใช้งานการ การโต้ตอบ Auto_Excel กล่อง และยกเลิกกล่องข้อความ Microsoft Excel จะจบการทำงาน เมื่อฟังก์ชัน CAutoProjectDlg::OnRun() จะสิ้นสุดลงเนื่องจากแอพลิเคชัน ตัวแปรจะมีโลโก้ของขอบเขต

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

เมื่อคุณเพิ่มประเภทสินค้าจากไลบรารีชนิดการของคุณ โครงการ (เนื่องจากคุณไม่ในขั้นตอนข้างต้น 9), คุณจะสังเกตเห็นว่า มีหลายชั้น ถูกเพิ่มลงในโครงการ คลิกสองใน ClassView คุณสามารถครั้งคลาสเมื่อต้องการดู ฟังก์ชันสมาชิกนั้นคลาสและคลิกสองครั้งที่แล้วสมาชิกทำการ ดูคำจำกัดความของฟังก์ชันนั้นในไฟล์ใช้งาน Excel8.cpp

คุณจำเป็นต้องไปยังคำนิยามของฟังก์ชันสมาชิกถ้าคุณต้องการ ตรวจสอบว่า ชนิดของการส่งคืนสินค้าหรือ ถ้าคุณต้องการเปลี่ยนแปลงของฟังก์ชันการใช้งาน ใดๆ เวลาที่คุณทำการเปลี่ยนแปลงคำนิยามฟังก์ชัน โปรดจำไว้ว่า การเปลี่ยนแปลงในการประกาศ แฟ้ม Excel8.h เมื่อทำเช่นนี้ ให้แน่ใจว่า คุณเปลี่ยนแปลงฟังก์ชันที่ถูกต้อง การประกาศ บางครั้ง กำหนดชื่อเดียวกันกับฟังก์ชันสมาชิกของหลาย classes--GetApplication() เป็นตัวอย่างหนึ่งเช่น

ถึงแม้ว่าขั้นตอน ข้างต้นแสดงให้เห็นถึงวิธีการทำให้ Microsoft Excel คุณสามารถประยุกต์ใช้แนวคิดเดียวกัน เมื่อต้องการทำงานอัตโนมัติสำหรับโปรแกรมประยุกต์อื่น รายการด้านล่างนี้ประกอบด้วยชื่อแฟ้มสำหรับ ไลบรารีชนิดของโปรแกรมประยุกต์ของ Microsoft Office:
   Application                           Type Library
   --------------------------------------------------

   Microsoft Access 97                   Msacc8.olb
   Microsoft Jet Database 3.5            DAO350.dll
   Microsoft Binder 97                   Msbdr8.olb
   Microsoft Excel 97                    Excel8.olb
   Microsoft Graph 97                    Graph8.olb
   Microsoft Office 97                   Mso97.dll
   Microsoft Outlook 97                  Msoutl97.olb
   Microsoft PowerPoint 97               Msppt8.olb

   Microsoft Word 97                     Msword8.olb
   Microsoft Access 2000                 Msacc9.olb
   Microsoft Jet Database 3.51           DAO360.dll
   Microsoft Binder 2000                 Msbdr9.olb
   Microsoft Excel 2000                  Excel9.olb
   Microsoft Graph 2000                  Graph9.olb
   Microsoft Office 2000                 Mso9.dll
   Microsoft Outlook 2000                Msoutl9.olb
   Microsoft PowerPoint 2000             Msppt9.olb
   Microsoft Word 2000                   Msword9.olb 

   Microsoft Access 2002                 Msacc.olb
   Microsoft Excel 2002                  Excel.exe
   Microsoft Graph 2002                  Graph.exe 
   Microsoft Office 2002                 MSO.dll
   Microsoft Outlook 2002                MSOutl.olb
   Microsoft PowerPoint 2002             MSPpt.olb
   Microsoft Word 2002                   MSWord.olb

   Microsoft Office Access 2003          Msacc.olb
   Microsoft Office Excel 2003           Excel.exe
   Microsoft Graph 2003                  Graph.exe 
   Microsoft Office 2003                 MSO.dll
   Microsoft Office Outlook 2003         MSOutl.olb
   Microsoft Office PowerPoint 2003      MSPpt.olb
   Microsoft Office Word 2003            MSWord.olb
				
หมายเหตุ: ตำแหน่งที่ตั้งเริ่มต้นสำหรับไลบรารีชนิดเหล่านี้คือ C:\Program Files\Microsoft Office\Office (สำหรับ Office 2002 เส้นทางคือ C:\...\Office10 และ Office 2003 เส้นทางคือ C:\...\Office11), ยกเว้นสำหรับ Dao350.dll หรือ Dao360.dll และ 10(MSO.dll) ของ Microsoft Office ตำแหน่งที่ตั้งเริ่มต้นสำหรับ Dao350.dll/Dao360.dll เป็น Shared\Dao Files\Microsoft ของ C:\Program Files\Common ตำแหน่งที่ตั้งเริ่มต้นสำหรับ MSO.dll คือ C:\Program Files\Common Files\Microsoft Shared\Office10 สำหรับ Office 2002 และ C:\Program Files\Common Files\Microsoft Shared\Office11 สำหรับ Office 2003

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

บทความนี้แสดงวิธีการที่เฉพาะเจาะจงเพื่อสร้างเป็น กล่องโต้ตอบโครงการ ถ้าคุณต้องการดูเอกสารประกอบเพิ่มเติมทั่วไปเกี่ยวกับ กระบวนการสร้างโครงการ VC ++ ใน Studio สำหรับนักพัฒนา Microsoft สภาพแวดล้อม ไม่มีการสอนดีเยี่ยมที่คุณสามารถเข้าถึงได้ โดยใช้ Visual InfoView studio เมื่อต้องการเข้าถึงบทช่วยสอนการ คลิกค้นหาบนเมนูวิธีใช้ คลิก แท็บดัชนีและชนิดต่อไปนี้:
การทำงานกับโครงการ
คลิกรายการหัวข้อ เลือกหัวข้อ "โฮมเพจ:การทำงานด้วย โครงการ"และคลิกแสดงสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานอัตโนมัติของโปรแกรมประยุกต์ Office คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
222101วิธีการค้นหา และใช้เอกสารประกอบโมเดลวัตถุของ Office

คุณสมบัติ

หมายเลขบทความ (Article ID): 178749 - รีวิวครั้งสุดท้าย: 28 มกราคม 2554 - Revision: 5.0
ใช้กับ
  • Microsoft Foundation Class Library 4.2
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
Keywords: 
kbautomation kbhowto kbinterop kbmt KB178749 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:178749

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

 

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