أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية إنشاء/تنسيق مصنف Excel باستخدام Visual J ++ التنفيذ

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية219430
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
توضح هذه المقالة أتمتة Excel 97 أو إصدار أحدث من Visual J ++ عميل باستخدام Java في لغة البرمجة. يستخدم مكتبة النوع Excel المشروع ثم يوضح برمجة الكائن مهيأ.
معلومات أخرى
تحتوي هذه المقالة parallels مقالة "قاعدة معارف Microsoft" التي توضح نفس العملية باستخدام Microsoft Visual C++ والفصول الدراسية Foundation Microsoft. للحصول على معلومات إضافية حول أتمتة Excel من Visual C++ ، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
179706كيفية استخدام MFC إلى أتمتة Excel "و" إنشاء/تنسيق مصنف جديد
  1. بدء تشغيل Visual J ++ 6.0. إنشاء "تطبيق وحدة تحكم" جديد المشروع وتسميتها XLJava1.
  2. في إطار مستكشف المشاريع، افتح شجرة Project ثم انقر نقراً مزدوجاً فوق الملف Class1.java إنشاء.
  3. من القائمة ' مشروع ' ، اختر إضافة التفاف COM حدد في Microsoft Excel 8.0 و 9.0, أو 10.0 مكتبة كائنات (بالشكل المناسب) ومن ثم انقر فوق موافق. يؤدي ذلك إلى إضافة Wrappers COM Java المشتقة من مكتبة نوع Excel إلى المشروع.
  4. في أعلى الملف Class1.Java إضافة عبارات الاستيراد التالية:
       import Excel8.*; // Change the 8 to 9 for Excel 2000, or 10 for 2002 or later   // For Excel 2000 the statement should read   // import Excel9.*; // Excel support   import com.ms.com.*; // Variant & exception support.    import java.lang.InterruptedException; // Needed for Thread.sleep().   (These are illustrated in the code sample below.)					
  5. في دالة main() نقطة إدخال Class1 و إضافة التعليمات البرمجية بحيث يظهر البرنامج الخاص بك كما يلي:
         /** * This class can take a variable number of parameters on the command * line. Program execution begins with the main() method. The class * constructor is not invoked unless an object of type 'Class1' * created in the main() method. */ import excel.*; // for Excel 2002, or - import excel9.*; for Excel 2000 or later                  // or - import excel8.*; for Excel 97import java.lang.InterruptedException; // needed for thread.sleepimport com.ms.com.*; // Variant & exception support<BR/>public class Class1{	/**	 * The main entry point for the application. 	 *	 * @param args Array of parameters passed to the application	 * via the command line.	 */ 	//==============================================================	// Add the following static member function declaration     // just before main()...    // J/Direct declarations... to use Windows MessageBox    /** @dll.import("USER32") */     private static native int MessageBox(int hwndOwner, String text,                                          String title, int fuStyle);    // Here is an example of its use.    // MessageBox(0, "Hello, World", "Title", 0); //fuStyle switch    //    values are defined in Winuser.h. Search on 'MB_OK'    //==============================================================	public static void main (String[] args)	{		// Force COM objects to be created on the current thread.      // Otherwise, older VMs might not release all references      // and Excel might continue to run after you shutdown.      ComLib.declareMessagePumpThread();      // Launch Excel       Variant vEmpty = new Variant();      vEmpty.noParam();      Application xlApp = new Application();      //xlApp.setVisible(0,true); // Excel 2000 & 97 1st param is LCID, Locale ID	  xlApp.setVisible(true); // One argument for Excel 2002 or later   	      // Get the workbook object via the object model.      Workbooks books = xlApp.getWorkbooks();      _Workbook book = books.Add(vEmpty,0);      // Get the first sheet.		      Sheets sheets = (Sheets)book.getSheets();      _Worksheet sheet = (_Worksheet)sheets.getItem(new Variant(1));      // Fill cells A1, B1, C1, and D1, one cell at a time, with "headers".      Range range = sheet.getRange(new Variant("A1"),new Variant("A1"));      //range.setValue(new Variant("First Name")); // Throughout, the SetValue      // of Excel 97 and Excel 2000 no longer works in Excel 2002 or later.	  range.setValue2(new Variant("First Name"));      range = sheet.getRange(new Variant("B1"),new Variant("B1"));      //range.setValue(new Variant("Last Name"));	  range.setValue2(new Variant("Last Name"));      range = sheet.getRange(new Variant("C1"),new Variant("C1"));      //range.setValue(new Variant("Full Name"));	  range.setValue2(new Variant("Full Name"));      range = sheet.getRange(new Variant("D1"),new Variant("D1"));      //range.setValue(new Variant("Salary"));	  range.setValue2(new Variant("Salary"));      // Format A1:D1 as bold, vertical alignment = center      range = sheet.getRange(new Variant("A1"),new Variant("D1"));      Font font = range.getFont();      font.setBold(new Variant(true));      range.setVerticalAlignment(new Variant(-4108));      // Fill range A2:B6 with first and last names,       range = sheet.getRange(new Variant("A2"),new Variant("A2"));      //range.setValue(new Variant("John"));	  range.setValue2(new Variant("John"));      range = sheet.getRange(new Variant("B2"),new Variant("B2"));      //range.setValue(new Variant("Smith"));	  range.setValue2(new Variant("Smith"));      range = sheet.getRange(new Variant("A3"),new Variant("A3"));      //range.setValue(new Variant("Tom"));	  range.setValue2(new Variant("Tom"));      range = sheet.getRange(new Variant("B3"),new Variant("B3"));      //range.setValue(new Variant("Brown"));	  range.setValue2(new Variant("Brown"));      range = sheet.getRange(new Variant("A4"),new Variant("A4"));      //range.setValue(new Variant("Sue"));	  range.setValue2(new Variant("Sue"));      range = sheet.getRange(new Variant("B4"),new Variant("B4"));      //range.setValue(new Variant("Thomas"));	  range.setValue2(new Variant("Thomas"));      range = sheet.getRange(new Variant("A5"),new Variant("A5"));      //range.setValue(new Variant("Jane"));	  range.setValue2(new Variant("Jane"));      range = sheet.getRange(new Variant("B5"),new Variant("B5"));      //range.setValue(new Variant("Jones"));	  range.setValue2(new Variant("Jones"));      range = sheet.getRange(new Variant("A6"),new Variant("A6"));      //range.setValue(new Variant("Adam"));	  range.setValue2(new Variant("Adam"));      range = sheet.getRange(new Variant("B6"),new Variant("B6"));      //range.setValue(new Variant("Johnson"));	  range.setValue2(new Variant("Johnson"));      // Fill range C2:C6 with a relative formula(=A2 & " " & B2")      range = sheet.getRange(new Variant("C2"),new Variant("C6"));      range.setFormula(new Variant("=A2 & \" \" & B2"));      // Fill D2:D6 with a formula (=RAND()*100000) and apply a       //  number format      range = sheet.getRange(new Variant("D2"),new Variant("D6"));      range.setFormula(new Variant("=RAND()*100000"));      range.setNumberFormat(new Variant("$0.00"));      // AutoFit columns A:D      range = sheet.getRange(new Variant("A1"),new Variant("D1"));      Range columns = range.getEntireColumn();      columns.AutoFit();      // Manipulate a variable number of columns      //  for Quarterly Sales Data      short NumQtrs;      String msg;      String msg2;      msg2 = " "; // Initialize it to avoid compile error      int reply;      Range resizedrange;      Interior interior;      Borders borders;      // Determine how many quarters to display data for.      for(NumQtrs = 1; NumQtrs<=4; NumQtrs++)      {         if (NumQtrs == 1)         {          msg = "Enter sales data for " + NumQtrs + " quarter?";          msg2 = "Displaying data for " + NumQtrs + " quarter";         }         else         {          msg = "Enter sales data for " + NumQtrs + " quarters?";          msg2 = "Displaying data for " + NumQtrs + " quarters";         }         reply = MessageBox(0, msg, "Indicate Quarters", 36);         if(6 == reply) break;			      } // end For loop   		      MessageBox(0, msg2, "Data Setting", 0);      if(5 == NumQtrs) // Limit display to <=4 quarters      {       NumQtrs = 4;      }      // Starting at E1, fill headers for number of columns selected.      range = sheet.getRange(new Variant("E1"),new Variant("E1"));      resizedrange = range.getResize(vEmpty, new Variant(NumQtrs));      resizedrange.setFormula(         new Variant("= \"Q\" & COLUMN()-4 & CHAR(10)& \"Sales\""));      // Change the Orientation and Wrap Text properties for the headers.      resizedrange.setOrientation(new Variant(38));      resizedrange.setWrapText(new Variant(true));      // Fill the interior colors of the headers.      interior = resizedrange.getInterior();      interior.setColorIndex(new Variant(36));      // Fill the columns with a formula and apply a number format.      range = sheet.getRange(new Variant("E2"),new Variant("E6"));      resizedrange = range.getResize(vEmpty, new Variant(NumQtrs));      resizedrange.setFormula(new Variant("=RAND()*100"));      resizedrange.setNumberFormat(new Variant("$0.00"));      // Apply Borders to the Sales data and headers      range = sheet.getRange(new Variant("E1"), new Variant("E6"));      resizedrange = range.getResize(vEmpty, new Variant(NumQtrs));      borders = resizedrange.getBorders();      borders.setWeight(new Variant(2)); // xlThin = 2      // Add Totals formula for Quarterly sales data, apply a border.      range = sheet.getRange(new Variant("E8"),new Variant("E8"));      resizedrange = range.getResize(vEmpty, new Variant(NumQtrs));      resizedrange.setFormula(new Variant("=SUM(E2:E6)"));      borders = resizedrange.getBorders();      Border bottomborder;      bottomborder = borders.getItem(9); // Bottom border      bottomborder.setLineStyle(new Variant(-4119)); // xlDouble = -4119      bottomborder.setWeight(new Variant(4));  // xlThick = 4      // Some more features: Add comment to cell C3 - Full       //    name of Tom Brown      range = sheet.getRange(new Variant("C3"),new Variant("C3"));      range.AddComment(new Variant("Tom was last month's top performer"));      // Chart the Salaries.      double Left = 72.; // location in points      double Top = 144.;      double Width = 350.;      double Height = 250.;      ChartObjects chartobjects =         (ChartObjects)sheet.ChartObjects(vEmpty,0); // explicit typecast      ChartObject chartobject = chartobjects.Add(Left, Top, Width, Height);      // Set the location and size.      Chart chart = chartobject.getChart();      range = sheet.getRange(new Variant("C2"), new Variant("D6"));      // Full name and salary.      range.Select();      chart.ChartWizard(new Variant(range), // Source                        new Variant(11),    // Gallery                        vEmpty,             // Format                        new Variant(1),     // PlotBy                        new Variant(0),     // CategoryLabels                        new Variant(1),     // SeriesLabels                        new Variant(true),  // HasLegend                        new Variant("Salary by Employee"), //Title                        new Variant("Employee"), //CategoryTitle                        new Variant("Salary"), //ValueTitle                        vEmpty,             // ExtraTitle                        0                   // LCID(localeID)                        );   		      // Make the application visible and give the user control of       // Microsoft Excel.      // xlApp.setVisible(0,true); // 1st param is LCID, Locale ID.       // The preceding was done at beginning of the program.      xlApp.setUserControl(true);   		      MessageBox(0, "When Excel hides, Minimize VJ++ IDE to see Excel",                 "Focus on Excel", 327744);      //book.setSaved(0,true); // Avoid "Save changes" dialog      //xlApp.Quit();  // Not if using UserControl			} // End of Main()} // End of Class					
  6. من القائمة "تصحيح" ، انقر فوق ابدأ. إنشاء حزم البرنامج ويتم تشغيل. عند تشغيلها, وحدة تحكم يظهر إطار والوقت بعض يظهر لاحق من Excel. مربع حوار يطالبك حول قد فصول مخطط ستظهر في الأعلى إلا إذا قمت بالنقر فوق أي مكان على الشاشة بعد بدء تشغيل البرنامج. إذا قمت بالنقر فوق الشاشة يمكن تصغير مربع الحوار على شريط مهام Windows. إذا ظهر البرنامج إلى استعادة مربع الحوار الموجودة على شريط المهام إلى 'عادي'.
مراجع
للحصول على معلومات إضافية حول Visual J ++ التنفيذ التلقائي "، انقر فوق أرقام المقالات التالية لعرضها في" قاعدة المعارف لـ Microsoft:
169173INFO: الأسئلة لـ Visual J ++ المتداولة
215484طريقة لجعل PowerPoint باستخدام Visual J ++
179706كيفية استخدام MFC إلى أتمتة Excel "و" إنشاء/تنسيق مصنف جديد
219151كيف لجعل Microsoft Excel من Visual Basic
jactivex التنفيذ Java

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 219430 - آخر مراجعة: 12/05/2015 13:06:37 - المراجعة: 5.4

Microsoft Visual J++ 6.0 Standard Edition, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft Office XP Developer Edition, Microsoft Office 2000 Developer Edition

  • kbnosurvey kbarchive kbmt kbautomation kbhowto KB219430 KbMtar
تعليقات