VC6.0调用excel xp,word 2k

  1. //vc6.0调用excel xp,word 2k
  2.   #include <ole2.h>
  3.   #include <stdio.h>
  4.   #pragma warning (disable:4146 4192 4786 4081)
  5.   #define USE_OFFICEXP 1
  6.   #ifdef USE_OFFICEXP
  7.   #import "C:/Program Files/Common Files/Microsoft Shared/Office10/MSO.DLL" 
  8.   #import "c://Program Files//Common Files/Microsoft Shared/VBA/VBA6/VBE6EXT.olb" 
  9.   #import "c:/Program Files/Microsoft Office/Office10/MSWORD.olb" rename
  10. ("ExitWindows","ExitWindowsEx")
  11.   #import "c:/Program Files/Microsoft Office/Office10/excel.exe" rename("DialogBox"
  12. "DialogBoxXL") rename("RGB""RBGXL") rename("DocumentProperties""DocumentPropertiesXL"
  13. exclude("IFont","IPicture")
  14.   #else
  15.   #import "c:/Program Files/Microsoft Office/Office/MSO9.dll"
  16.   #import "C:/Program Files/Common Files/Microsoft Shared/VBA/VBA6/VBE6EXT.OLB" 
  17. no_namespace 
  18.   #import "c:/Program Files/Microsoft Office/Office/MSWORD9.OLB" rename
  19. ("ExitWindows","_ExitWindows")
  20.   #import "c:/Program Files/Microsoft Office/Office/excel9.olb" rename("DialogBox"
  21. "DialogBoxXL") rename("RGB""RBGXL") rename("DocumentProperties""DocumentPropertiesXL"
  22. exclude("IFont","IPicture")
  23.   #endif
  24.   int main(int argc, char* argv[])
  25.   {
  26.   VARIANT varItem;
  27.   varItem.vt = VT_I4;
  28.   varItem.intVal = 1;
  29.    ::CoInitialize(NULL);
  30.    CLSID clsid;
  31.    
  32.   #if 0
  33.   CLSIDFromProgID(L"Word.Application", &clsid); 
  34.   Word::_ApplicationPtr pApp;
  35.   pApp.CreateInstance (clsid,NULL);
  36.   pApp ->PutVisible (VARIANT_TRUE);
  37.   pApp ->GetDocuments() ->Add();
  38.   Word::_DocumentPtr pWordDocument =pApp-> GetActiveDocument();
  39.   Word::SelectionPtr pSelection = pApp ->GetSelection(); 
  40.   pSelection ->TypeText("badguy");
  41.   #endif
  42.   #if 1
  43.   CLSIDFromProgID(L"Excel.Application", &clsid); 
  44.   Excel::_ApplicationPtr pApp;
  45.   pApp .CreateInstance (clsid,NULL);
  46.   pApp ->PutVisible (0,VARIANT_TRUE);
  47.   Excel::_WorkbookPtr pWorkbook = pApp ->GetWorkbooks () ->Add ();
  48.   Excel::_WorksheetPtr pSheet = pWorkbook ->GetWorksheets () ->GetItem (varItem); 
  49.   Excel::RangePtr pRange = pSheet ->GetUsedRange(0);
  50.   int iColCnt = pRange ->GetColumns() ->GetCount();
  51.   printf("used columns is %d/n",iColCnt);
  52.   int iRowCnt = pRange ->GetRows() ->GetCount();
  53.   printf("used rows is %d/n",iRowCnt);
  54.   pRange = pSheet ->GetRange(OLESTR("A1"));
  55.   pRange ->Value2 = OLESTR("SOME");
  56.   Excel::InteriorPtr pInterior= pRange ->GetInterior ();
  57.   varItem.intVal = 0xff0000;
  58.   pInterior ->PutColor (varItem); 
  59.   pSheet ->PrintPreview ();
  60.   #endif
  61.    ::CoUninitialize();
  62.    return 0;
  63.   }

你可能感兴趣的:(VC6.0调用excel xp,word 2k)