1 /**
2     Microsoft Excel Developer's Toolkit
3     Version 15.0
4 
5     File:           INCLUDE\XLCALL.H
6     Description:    Header file for for Excel callbacks
7     Platform:       Microsoft Windows
8 
9     DEPENDENCY:
10     Include <windows.h> before you include this.
11 
12     This file defines the constants and
13     data types which are used in the
14     Microsoft Excel C API.
15 
16   	Ported to the D Programming Language by Laeeth Isharc (2015)
17 */
18 module xlld.sdk.xlcall;
19 
20 version(Windows) {
21     import core.sys.windows.windows;
22     version (UNICODE) {
23         static assert(false, "Unicode not supported right now");
24     } else {
25         import core.sys.windows.winnt: LPSTR;
26     }
27 } else {
28     alias HANDLE = int;
29     alias VOID = void;
30     alias HWND = int;
31     alias POINT = int;
32     alias LPSTR = wchar*;
33 }
34 
35 /**
36    XL 12 Basic Datatypes
37  */
38 extern(System) int Excel4v(int xlfn, LPXLOPER operRes, int count, LPXLOPER* opers); //pascal
39 extern(C)int Excel4(int xlfn, LPXLOPER operRes, int count,... );  //_cdecl
40 
41 	alias BYTE=ubyte;
42 	alias WORD=ushort;
43 	alias DWORD=uint;				// guess
44 	alias DWORD_PTR=DWORD*;			// guess
45 	alias BOOL=int;
46 	alias XCHAR=wchar;
47 	alias RW=int;					// XL 12 Row
48 	alias COL=int;					// XL 12 Column
49 	alias IDSHEET=DWORD_PTR;		// XL12 Sheet ID
50 
51 	/**
52 	   XLREF structure
53 	   Describes a single rectangular reference.
54 	*/
55 
56 	struct XLREF
57 	{
58 		WORD rwFirst;
59 		WORD rwLast;
60 		BYTE colFirst;
61 		BYTE colLast;
62 	}
63 
64 	alias LPXLREF=XLREF*;
65 
66 
67 	/**
68 	   XLMREF structure
69 	   Describes multiple rectangular references.
70 	   This is a variable size structure, default
71 	   size is 1 reference.
72 	*/
73 
74 	struct XLMREF
75 	{
76 		WORD count;
77 		XLREF* reftbl;					/* actually reftbl[count] */
78 	}
79 
80 	alias LPXLMREF=XLMREF*;
81 
82 
83 	/**
84 	   XLREF12 structure
85 
86 	   Describes a single XL 12 rectangular reference.
87 	*/
88 
89 	struct XLREF12
90 	{
91 		RW rwFirst;
92 		RW rwLast;
93 		COL colFirst;
94 		COL colLast;
95 	}
96 	alias LPXLREF12=XLREF12*;
97 
98 
99 	/**
100 	   XLMREF12 structure
101 
102 	   Describes multiple rectangular XL 12 references.
103 	   This is a variable size structure, default
104 	   size is 1 reference.
105 	*/
106 
107 	struct XLMREF12
108 	{
109 		WORD count;
110 		XLREF12* reftbl;					/* actually reftbl[count] */
111 	}
112 	alias LPXLMREF12=XLMREF12*;
113 
114 
115 	/**
116 	   FP structure
117 
118 	   Describes FP structure.
119 	*/
120 
121 	struct FP
122 	{
123 	    ushort rows;
124 	    ushort columns;
125 	    double* array;        /* Actually, array[rows][columns] */
126 	}
127 
128 	/**
129 	   FP12 structure
130 
131 	   Describes FP structure capable of handling the big grid.
132 	*/
133 
134 	struct FP12
135 	{
136 	    int rows;
137 	    int columns;
138 	    double* array;        /* Actually, array[rows][columns] */
139 	}
140 
141 
142 	/**
143 	   XLOPER structure
144 
145 	   Excel's fundamental data type: can hold data
146 	   of any type. Use "R" as the argument type in the
147 	   REGISTER function.
148 	 */
149 	struct XLOPER
150 	{
151 		union VAL
152 		{
153 			double num;
154 			LPSTR str;					/* xltypeStr */
155 			WORD bool_;					/* xltypeBool */
156 			WORD err;
157 			short w;					/* xltypeInt */
158 			struct SREF
159 			{
160 				WORD count;				/* always = 1 */
161 				XLREF ref_;
162 			}
163 			SREF sref;						/* xltypeSRef */
164 			struct MREF
165 			{
166 				XLMREF *lpmref;
167 				IDSHEET idSheet;
168 			}
169 			MREF mref;						/* xltypeRef */
170 			struct ARRAY
171 			{
172 				XLOPER *lparray;
173 				WORD rows;
174 				WORD columns;
175 			}
176 			ARRAY array;					/* xltypeMulti */
177 			struct FLOW
178 			{
179 				union VALFLOW
180 				{
181 					short level;		/* xlflowRestart */
182 					short tbctrl;		/* xlflowPause */
183 					IDSHEET idSheet;		/* xlflowGoto */
184 				}
185 				VALFLOW valflow;
186 				WORD rw;				/* xlflowGoto */
187 				BYTE col;				/* xlflowGoto */
188 				BYTE xlflow;
189 			}
190 			FLOW flow;						/* xltypeFlow */
191 			struct BIGDATA
192 			{
193 				union H
194 				{
195 					BYTE *lpbData;			/* data passed to XL */
196 					HANDLE hdata;			/* data returned from XL */
197 				}
198 				H h;
199 				long cbData;
200 			}
201 			BIGDATA bigdata;					/* xltypeBigData */
202 		}
203 		VAL val;
204 		WORD xltype;
205 	}
206 	alias LPXLOPER=XLOPER* ;
207 
208 	/**
209 	   XLOPER12 structure
210 
211 	   Excel 12's fundamental data type: can hold data
212 	   of any type. Use "U" as the argument type in the
213 	   REGISTER function.
214 	 */
215 
216 	struct XLOPER12
217 	{
218 		union VAL
219 		{
220 			double num;				       	/* xltypeNum */
221 			XCHAR *str;				       	/* xltypeStr */
222 			BOOL bool_;				       	/* xltypeBool */
223 			int err;				       	/* xltypeErr */
224 			int w;
225 			struct SREF
226 			{
227 				WORD count;			       	/* always = 1 */
228 				XLREF12 ref_;
229 			}
230 			SREF sref;						/* xltypeSRef */
231 			struct MREF
232 			{
233 				XLMREF12 *lpmref;
234 				IDSHEET idSheet;
235 			}
236 			MREF mref;						/* xltypeRef */
237 			struct ARRAY
238 			{
239 				XLOPER12 *lparray;
240 				RW rows;
241 				COL columns;
242 			}
243 			ARRAY array;					/* xltypeMulti */
244 			struct FLOW
245 			{
246 				union VALFLOW
247 				{
248 					int level;			/* xlflowRestart */
249 					int tbctrl;			/* xlflowPause */
250 					IDSHEET idSheet;		/* xlflowGoto */
251 				}
252 				VALFLOW valflow;
253 				RW rw;				       	/* xlflowGoto */
254 				COL col;			       	/* xlflowGoto */
255 				BYTE xlflow;
256 			}
257 			FLOW flow;						/* xltypeFlow */
258 			struct BIGDATA
259 			{
260 				union H
261 				{
262 					BYTE *lpbData;			/* data passed to XL */
263 					HANDLE hdata;			/* data returned from XL */
264 				}
265 				H h;
266 				long cbData;
267 			}
268 			BIGDATA bigdata;					/* xltypeBigData */
269 		}
270 		VAL val;
271 		XlType xltype;
272 	}
273 	alias LPXLOPER12=XLOPER12*;
274 
275 	/**
276 	   XLOPER and XLOPER12 data types
277 
278 	   Used for xltype field of XLOPER and XLOPER12 structures
279 	*/
280 
281 // single enums for XLOPER, proper enum for XLOPER12
282 	enum xltypeNum=       0x0001;
283 	enum xltypeStr=       0x0002;
284 	enum xltypeBool=      0x0004;
285 	enum xltypeRef=       0x0008;
286 	enum xltypeErr=       0x0010;
287 	enum xltypeFlow=      0x0020;
288 	enum xltypeMulti=     0x0040;
289 	enum xltypeMissing=   0x0080;
290 	enum xltypeNil=       0x0100;
291 	enum xltypeSRef=      0x0400;
292 	enum xltypeInt=       0x0800;
293 
294 	enum xlbitXLFree=     0x1000;
295 	enum xlbitDLLFree=    0x4000;
296 
297 	enum xltypeBigData=(xltypeStr| xltypeInt);
298 
299 	enum XlType {
300 		xltypeNum=        0x0001,
301 		xltypeStr=       0x0002,
302 		xltypeBool=      0x0004,
303 		xltypeRef=       0x0008,
304 		xltypeErr=       0x0010,
305 		xltypeFlow=      0x0020,
306 		xltypeMulti=     0x0040,
307 		xltypeMissing=   0x0080,
308 		xltypeNil=       0x0100,
309 		xltypeSRef=      0x0400,
310 		xltypeInt=       0x0800,
311 
312 		xlbitXLFree=     0x1000,
313 		xlbitDLLFree=    0x4000,
314 
315 		xltypeBigData=(xltypeStr| xltypeInt),
316     }
317 
318 
319 	/*
320 	   Error codes
321 
322 	   Used for val.err field of XLOPER and XLOPER12 structures
323 	   when constructing error XLOPERs and XLOPER12s
324 	*/
325 
326 	enum xlerrNull=   0;
327 	enum xlerrDiv0=   7;
328 	enum xlerrValue=  15;
329 	enum xlerrRef=    23;
330 	enum xlerrName=   29;
331 	enum xlerrNum=    36;
332 	enum xlerrNA=     42;
333 	enum xlerrGettingData=43;
334 
335 
336 	/*
337 	   Flow data types
338 
339 	   Used for val.flow.xlflow field of XLOPER and XLOPER12 structures
340 	   when constructing flow-control XLOPERs and XLOPER12s
341 	 */
342 
343 	enum xlflowHalt=      1;
344 	enum xlflowGoto=      2;
345 	enum xlflowRestart=   8;
346 	enum xlflowPause=     16;
347 	enum xlflowResume=    64;
348 
349 
350 	/**
351 	   Return codes
352 
353 	   These values can be returned from Excel4(), Excel4v(), Excel12() or Excel12v().
354 	*/
355 
356 	enum xlretSuccess=       0;    /* success */
357 	enum xlretAbort=         1;    /* macro halted */
358 	enum xlretInvXlfn=       2;    /* invalid function number */
359 	enum xlretInvCount=      4;    /* invalid number of arguments */
360 	enum xlretInvXloper=     8;    /* invalid OPER structure */
361 	enum xlretStackOvfl=     16;   /* stack overflow */
362 	enum xlretFailed=        32;   /* command failed */
363 	enum xlretUncalced=      64;   /* uncalced cell */
364 	enum xlretNotThreadSafe= 128;  /* not allowed during multi-threaded calc */
365 	enum xlretInvAsynchronousContext= 256;  /* invalid asynchronous function handle */
366 	enum xlretNotClusterSafe= 512;  /* not supported on cluster */
367 
368 
369 	/**
370 	   XLL events
371 
372 	   Passed in to an xlEventRegister call to register a corresponding event.
373 	*/
374 
375 	enum xleventCalculationEnded=     1;    /* Fires at the end of calculation */
376 	enum xleventCalculationCanceled=  2;   /* Fires when calculation is interrupted */
377 
378 /**
379 	   Function prototypes
380 */
381 	/* followed by count LPXLOPERs */
382 
383 
384 	int  XLCallVer(); //pascal
385 
386 	long LPenHelper(int wCode, VOID *lpv); //pascal
387 
388 	/* followed by count LPXLOPER12s */
389 
390 	//int Excel12v(int xlfn, LPXLOPER12 operRes, int count, LPXLOPER12* opers); //pasca;
391 
392 
393 /**
394 	   Cluster Connector Async Callback
395 	*/
396 	// CALLBACK
397 	alias PXL_HPC_ASYNC_CALLBACK=int function (LPXLOPER12 operAsyncHandle, LPXLOPER12 operReturn);
398 
399 
400 	/**
401 	   Cluster connector entry point return codes
402 	*/
403 
404 	enum xlHpcRetSuccess=           0;
405 	enum xlHpcRetSessionIdInvalid= -1;
406 	enum xlHpcRetCallFailed=       -2;
407 
408 
409 	/**
410 	   Function number bits
411 	*/
412 
413 	enum xlCommand=   0x8000;
414 	enum xlSpecial=   0x4000;
415 	enum xlIntl=      0x2000;
416 	enum xlPrompt=    0x1000;
417 
418 
419 	/**
420 	   Auxiliary function numbers
421 
422 	   These functions are available only from the C API,
423 	   not from the Excel macro language.
424 	*/
425 
426 	enum xlFree=         (0  | xlSpecial);
427 	enum xlStack=        (1  | xlSpecial);
428 	enum xlCoerce=       (2  | xlSpecial);
429 	enum xlSet=          (3  | xlSpecial);
430 	enum xlSheetId=      (4  | xlSpecial);
431 	enum xlSheetNm=      (5  | xlSpecial);
432 	enum xlAbort=        (6  | xlSpecial);
433 	enum xlGetInst=      (7  | xlSpecial) /* Returns application's hinstance as an integer value, supported on 32-bit platform only */;
434 	enum xlGetHwnd=      (8  | xlSpecial);
435 	enum xlGetName=      (9  | xlSpecial);
436 	enum xlEnableXLMsgs= (10 | xlSpecial);
437 	enum xlDisableXLMsgs=(11 | xlSpecial);
438 	enum xlDefineBinaryName=(12 | xlSpecial);
439 	enum xlGetBinaryName	=(13| xlSpecial);
440 	/* GetFooInfo are valid only for calls to LPenHelper */
441 	enum xlGetFmlaInfo	=(14| xlSpecial);
442 	enum xlGetMouseInfo	=(15| xlSpecial);
443 	enum xlAsyncReturn	=(16| xlSpecial)	/*Set return value from an asynchronous function call*/;
444 	enum xlEventRegister=	(17| xlSpecial);	/*Register an XLL event*/
445 	enum xlRunningOnCluster=(18| xlSpecial);	/*Returns true if running on Compute Cluster*/
446 	enum xlGetInstPtr=(19| xlSpecial);	/* Returns application's hinstance as a handle, supported on both 32-bit and 64-bit platforms */
447 
448 	/* edit modes */
449 	enum xlModeReady	=0; //=not in edit mode;
450 	enum xlModeEnter	=1; //=enter mode;
451 	enum xlModeEdit		=2; //=edit mode;
452 	enum xlModePoint	= 4; //=point mode;
453 
454 	/* document(page) types */
455 	enum dtNil=0x7f;	// window is not a sheet, macro, chart or basic OR window is not the selected window at idle state
456 	enum dtSheet=0;// sheet
457 	enum dtProc= 1;// XLM macro
458 	enum dtChart=2;// Chart
459 	enum dtBasic=6;// VBA
460 
461 	/* hit test codes */
462 	enum htNone		=0x00;//=none of below;
463 	enum htClient	=0x01;//=internal for "in the client are", should never see;
464 	enum htVSplit	=0x02;//=vertical split area with split panes;
465 	enum htHSplit	=0x03;//=horizontal split area;
466 	enum htColWidth	=0x04;//=column width adjuster area;
467 	enum htRwHeight	=0x05;//=row height adjuster area;
468 	enum htRwColHdr	=0x06;//=the intersection of row and column headers;
469 	enum htObject	=0x07;//=the body of an object;
470 	// the following are for size handles of draw objects
471 	enum htTopLeft	=0x08;
472 	enum htBotLeft	=0x09;
473 	enum htLeft		=0x0A;
474 	enum htTopRight	=0x0B;
475 	enum htBotRight	=0x0C;
476 	enum htRight		=0x0D;
477 	enum htTop		=0x0E;
478 	enum htBot		=0x0F;
479 	// end size handles
480 	enum htRwGut	=0x10;//=row area of outline gutter;
481 	enum htColGut	=0x11;//=column area of outline gutter;
482 	enum htTextBox	=0x12;//=body of a text box (where we shouw I-Beam cursor);
483 	enum htRwLevels	=0x13;//=row levels buttons of outline gutter;
484 	enum htColLevels	=0x14;//=column levels buttons of outline gutter;
485 	enum htDman		=0x15;//=the drag/drop handle of the selection;
486 	enum htDmanFill	=0x16;//=the auto-fill handle of the selection;
487 	enum htXSplit	=0x17;//=the intersection of the horz & vert pane splits;
488 	enum htVertex	=0x18;//=a vertex of a polygon draw object;
489 	enum htAddVtx	=0x19;//=htVertex in add a vertex mode;
490 	enum htDelVtx	=0x1A;//=htVertex in delete a vertex mode;
491 	enum htRwHdr		=0x1B;//=row header;
492 	enum htColHdr	=0x1C;//=column header;
493 	enum htRwShow	=0x1D;//=Like htRowHeight except means grow a hidden column;
494 	enum htColShow	=0x1E;//=column version of htRwShow;
495 	enum htSizing	=0x1F;//=Internal use only;
496 	enum htSxpivot	=0x20;//=a drag/drop tile in a pivot table;
497 	enum htTabs		=0x21;//=the sheet paging tabs;
498 	enum htEdit		=0x22;//=Internal use only;
499 
500 	struct FMLAINFO
501 	{
502 		int wPointMode;	// current edit mode.  0 => rest of struct undefined
503 		int cch;	// count of characters in formula
504 		char *lpch;	// pointer to formula characters.  READ ONLY!!!
505 		int ichFirst;	// char offset to start of selection
506 		int ichLast;	// char offset to end of selection (may be > cch)
507 		int ichCaret;	// char offset to blinking caret
508 	}
509 
510 	struct MOUSEINFO
511 	{
512 		// input section
513 		HWND hwnd;		// window to get info on
514 		POINT pt;		// mouse position to get info on
515 
516 		// output section
517 		int dt;			// document(page) type
518 		int ht;			// hit test code
519 		int rw;			// row @ mouse (-1 if #n/a)
520 		int col;		// col @ mouse (-1 if #n/a)
521 	} ;
522 
523 
524 
525 	/*
526 	   User defined function
527 
528 	   First argument should be a function reference.
529 	*/
530 
531 	enum xlUDF=     255;
532 
533 
534 	/**
535 	   Built-in Excel functions and command equivalents
536 	*/
537 
538 
539 	// Excel function numbers
540 
541 	enum xlfCount=0;
542 	enum xlfIsna=2;
543 	enum xlfIserror=3;
544 	enum xlfSum=4;
545 	enum xlfAverage=5;
546 	enum xlfMin=6;
547 	enum xlfMax=7;
548 	enum xlfRow=8;
549 	enum xlfColumn=9;
550 	enum xlfNa=10;
551 	enum xlfNpv=11;
552 	enum xlfStdev=12;
553 	enum xlfDollar=13;
554 	enum xlfFixed=14;
555 	enum xlfSin=15;
556 	enum xlfCos=16;
557 	enum xlfTan=17;
558 	enum xlfAtan=18;
559 	enum xlfPi=19;
560 	enum xlfSqrt=20;
561 	enum xlfExp=21;
562 	enum xlfLn=22;
563 	enum xlfLog10=23;
564 	enum xlfAbs=24;
565 	enum xlfInt=25;
566 	enum xlfSign=26;
567 	enum xlfRound=27;
568 	enum xlfLookup=28;
569 	enum xlfIndex=29;
570 	enum xlfRept=30;
571 	enum xlfMid=31;
572 	enum xlfLen=32;
573 	enum xlfValue=33;
574 	enum xlfTrue=34;
575 	enum xlfFalse=35;
576 	enum xlfAnd=36;
577 	enum xlfOr=37;
578 	enum xlfNot=38;
579 	enum xlfMod=39;
580 	enum xlfDcount=40;
581 	enum xlfDsum=41;
582 	enum xlfDaverage=42;
583 	enum xlfDmin=43;
584 	enum xlfDmax=44;
585 	enum xlfDstdev=45;
586 	enum xlfVar=46;
587 	enum xlfDvar=47;
588 	enum xlfText=48;
589 	enum xlfLinest=49;
590 	enum xlfTrend=50;
591 	enum xlfLogest=51;
592 	enum xlfGrowth=52;
593 	enum xlfGoto=53;
594 	enum xlfHalt=54;
595 	enum xlfPv=56;
596 	enum xlfFv=57;
597 	enum xlfNper=58;
598 	enum xlfPmt=59;
599 	enum xlfRate=60;
600 	enum xlfMirr=61;
601 	enum xlfIrr=62;
602 	enum xlfRand=63;
603 	enum xlfMatch=64;
604 	enum xlfDate=65;
605 	enum xlfTime=66;
606 	enum xlfDay=67;
607 	enum xlfMonth=68;
608 	enum xlfYear=69;
609 	enum xlfWeekday=70;
610 	enum xlfHour=71;
611 	enum xlfMinute=72;
612 	enum xlfSecond=73;
613 	enum xlfNow=74;
614 	enum xlfAreas=75;
615 	enum xlfRows=76;
616 	enum xlfColumns=77;
617 	enum xlfOffset=78;
618 	enum xlfAbsref=79;
619 	enum xlfRelref=80;
620 	enum xlfArgument=81;
621 	enum xlfSearch=82;
622 	enum xlfTranspose=83;
623 	enum xlfError=84;
624 	enum xlfStep=85;
625 	enum xlfType=86;
626 	enum xlfEcho=87;
627 	enum xlfSetName=88;
628 	enum xlfCaller=89;
629 	enum xlfDeref=90;
630 	enum xlfWindows=91;
631 	enum xlfSeries=92;
632 	enum xlfDocuments=93;
633 	enum xlfActiveCell=94;
634 	enum xlfSelection=95;
635 	enum xlfResult=96;
636 	enum xlfAtan2=97;
637 	enum xlfAsin=98;
638 	enum xlfAcos=99;
639 	enum xlfChoose=100;
640 	enum xlfHlookup=101;
641 	enum xlfVlookup=102;
642 	enum xlfLinks=103;
643 	enum xlfInput=104;
644 	enum xlfIsref=105;
645 	enum xlfGetFormula=106;
646 	enum xlfGetName=107;
647 	enum xlfSetValue=108;
648 	enum xlfLog=109;
649 	enum xlfExec=110;
650 	enum xlfChar=111;
651 	enum xlfLower=112;
652 	enum xlfUpper=113;
653 	enum xlfProper=114;
654 	enum xlfLeft=115;
655 	enum xlfRight=116;
656 	enum xlfExact=117;
657 	enum xlfTrim=118;
658 	enum xlfReplace=119;
659 	enum xlfSubstitute=120;
660 	enum xlfCode=121;
661 	enum xlfNames=122;
662 	enum xlfDirectory=123;
663 	enum xlfFind=124;
664 	enum xlfCell=125;
665 	enum xlfIserr=126;
666 	enum xlfIstext=127;
667 	enum xlfIsnumber=128;
668 	enum xlfIsblank=129;
669 	enum xlfT=130;
670 	enum xlfN=131;
671 	enum xlfFopen=132;
672 	enum xlfFclose=133;
673 	enum xlfFsize=134;
674 	enum xlfFreadln=135;
675 	enum xlfFread=136;
676 	enum xlfFwriteln=137;
677 	enum xlfFwrite=138;
678 	enum xlfFpos=139;
679 	enum xlfDatevalue=140;
680 	enum xlfTimevalue=141;
681 	enum xlfSln=142;
682 	enum xlfSyd=143;
683 	enum xlfDdb=144;
684 	enum xlfGetDef=145;
685 	enum xlfReftext=146;
686 	enum xlfTextref=147;
687 	enum xlfIndirect=148;
688 	enum xlfRegister=149;
689 	enum xlfCall=150;
690 	enum xlfAddBar=151;
691 	enum xlfAddMenu=152;
692 	enum xlfAddCommand=153;
693 	enum xlfEnableCommand=154;
694 	enum xlfCheckCommand=155;
695 	enum xlfRenameCommand=156;
696 	enum xlfShowBar=157;
697 	enum xlfDeleteMenu=158;
698 	enum xlfDeleteCommand=159;
699 	enum xlfGetChartItem=160;
700 	enum xlfDialogBox=161;
701 	enum xlfClean=162;
702 	enum xlfMdeterm=163;
703 	enum xlfMinverse=164;
704 	enum xlfMmult=165;
705 	enum xlfFiles=166;
706 	enum xlfIpmt=167;
707 	enum xlfPpmt=168;
708 	enum xlfCounta=169;
709 	enum xlfCancelKey=170;
710 	enum xlfInitiate=175;
711 	enum xlfRequest=176;
712 	enum xlfPoke=177;
713 	enum xlfExecute=178;
714 	enum xlfTerminate=179;
715 	enum xlfRestart=180;
716 	enum xlfHelp=181;
717 	enum xlfGetBar=182;
718 	enum xlfProduct=183;
719 	enum xlfFact=184;
720 	enum xlfGetCell=185;
721 	enum xlfGetWorkspace=186;
722 	enum xlfGetWindow=187;
723 	enum xlfGetDocument=188;
724 	enum xlfDproduct=189;
725 	enum xlfIsnontext=190;
726 	enum xlfGetNote=191;
727 	enum xlfNote=192;
728 	enum xlfStdevp=193;
729 	enum xlfVarp=194;
730 	enum xlfDstdevp=195;
731 	enum xlfDvarp=196;
732 	enum xlfTrunc=197;
733 	enum xlfIslogical=198;
734 	enum xlfDcounta=199;
735 	enum xlfDeleteBar=200;
736 	enum xlfUnregister=201;
737 	enum xlfUsdollar=204;
738 	enum xlfFindb=205;
739 	enum xlfSearchb=206;
740 	enum xlfReplaceb=207;
741 	enum xlfLeftb=208;
742 	enum xlfRightb=209;
743 	enum xlfMidb=210;
744 	enum xlfLenb=211;
745 	enum xlfRoundup=212;
746 	enum xlfRounddown=213;
747 	enum xlfAsc=214;
748 	enum xlfDbcs=215;
749 	enum xlfRank=216;
750 	enum xlfAddress=219;
751 	enum xlfDays360=220;
752 	enum xlfToday=221;
753 	enum xlfVdb=222;
754 	enum xlfMedian=227;
755 	enum xlfSumproduct=228;
756 	enum xlfSinh=229;
757 	enum xlfCosh=230;
758 	enum xlfTanh=231;
759 	enum xlfAsinh=232;
760 	enum xlfAcosh=233;
761 	enum xlfAtanh=234;
762 	enum xlfDget=235;
763 	enum xlfCreateObject=236;
764 	enum xlfVolatile=237;
765 	enum xlfLastError=238;
766 	enum xlfCustomUndo=239;
767 	enum xlfCustomRepeat=240;
768 	enum xlfFormulaConvert=241;
769 	enum xlfGetLinkInfo=242;
770 	enum xlfTextBox=243;
771 	enum xlfInfo=244;
772 	enum xlfGroup=245;
773 	enum xlfGetObject=246;
774 	enum xlfDb=247;
775 	enum xlfPause=248;
776 	enum xlfResume=251;
777 	enum xlfFrequency=252;
778 	enum xlfAddToolbar=253;
779 	enum xlfDeleteToolbar=254;
780 	enum xlfResetToolbar=256;
781 	enum xlfEvaluate=257;
782 	enum xlfGetToolbar=258;
783 	enum xlfGetTool=259;
784 	enum xlfSpellingCheck=260;
785 	enum xlfErrorType=261;
786 	enum xlfAppTitle=262;
787 	enum xlfWindowTitle=263;
788 	enum xlfSaveToolbar=264;
789 	enum xlfEnableTool=265;
790 	enum xlfPressTool=266;
791 	enum xlfRegisterId=267;
792 	enum xlfGetWorkbook=268;
793 	enum xlfAvedev=269;
794 	enum xlfBetadist=270;
795 	enum xlfGammaln=271;
796 	enum xlfBetainv=272;
797 	enum xlfBinomdist=273;
798 	enum xlfChidist=274;
799 	enum xlfChiinv=275;
800 	enum xlfCombin=276;
801 	enum xlfConfidence=277;
802 	enum xlfCritbinom=278;
803 	enum xlfEven=279;
804 	enum xlfExpondist=280;
805 	enum xlfFdist=281;
806 	enum xlfFinv=282;
807 	enum xlfFisher=283;
808 	enum xlfFisherinv=284;
809 	enum xlfFloor=285;
810 	enum xlfGammadist=286;
811 	enum xlfGammainv=287;
812 	enum xlfCeiling=288;
813 	enum xlfHypgeomdist=289;
814 	enum xlfLognormdist=290;
815 	enum xlfLoginv=291;
816 	enum xlfNegbinomdist=292;
817 	enum xlfNormdist=293;
818 	enum xlfNormsdist=294;
819 	enum xlfNorminv=295;
820 	enum xlfNormsinv=296;
821 	enum xlfStandardize=297;
822 	enum xlfOdd=298;
823 	enum xlfPermut=299;
824 	enum xlfPoisson=300;
825 	enum xlfTdist=301;
826 	enum xlfWeibull=302;
827 	enum xlfSumxmy2=303;
828 	enum xlfSumx2my2=304;
829 	enum xlfSumx2py2=305;
830 	enum xlfChitest=306;
831 	enum xlfCorrel=307;
832 	enum xlfCovar=308;
833 	enum xlfForecast=309;
834 	enum xlfFtest=310;
835 	enum xlfIntercept=311;
836 	enum xlfPearson=312;
837 	enum xlfRsq=313;
838 	enum xlfSteyx=314;
839 	enum xlfSlope=315;
840 	enum xlfTtest=316;
841 	enum xlfProb=317;
842 	enum xlfDevsq=318;
843 	enum xlfGeomean=319;
844 	enum xlfHarmean=320;
845 	enum xlfSumsq=321;
846 	enum xlfKurt=322;
847 	enum xlfSkew=323;
848 	enum xlfZtest=324;
849 	enum xlfLarge=325;
850 	enum xlfSmall=326;
851 	enum xlfQuartile=327;
852 	enum xlfPercentile=328;
853 	enum xlfPercentrank=329;
854 	enum xlfMode=330;
855 	enum xlfTrimmean=331;
856 	enum xlfTinv=332;
857 	enum xlfMovieCommand=334;
858 	enum xlfGetMovie=335;
859 	enum xlfConcatenate=336;
860 	enum xlfPower=337;
861 	enum xlfPivotAddData=338;
862 	enum xlfGetPivotTable=339;
863 	enum xlfGetPivotField=340;
864 	enum xlfGetPivotItem=341;
865 	enum xlfRadians=342;
866 	enum xlfDegrees=343;
867 	enum xlfSubtotal=344;
868 	enum xlfSumif=345;
869 	enum xlfCountif=346;
870 	enum xlfCountblank=347;
871 	enum xlfScenarioGet=348;
872 	enum xlfOptionsListsGet=349;
873 	enum xlfIspmt=350;
874 	enum xlfDatedif=351;
875 	enum xlfDatestring=352;
876 	enum xlfNumberstring=353;
877 	enum xlfRoman=354;
878 	enum xlfOpenDialog=355;
879 	enum xlfSaveDialog=356;
880 	enum xlfViewGet=357;
881 	enum xlfGetpivotdata=358;
882 	enum xlfHyperlink=359;
883 	enum xlfPhonetic=360;
884 	enum xlfAveragea=361;
885 	enum xlfMaxa=362;
886 	enum xlfMina=363;
887 	enum xlfStdevpa=364;
888 	enum xlfVarpa=365;
889 	enum xlfStdeva=366;
890 	enum xlfVara=367;
891 	enum xlfBahttext=368;
892 	enum xlfThaidayofweek=369;
893 	enum xlfThaidigit=370;
894 	enum xlfThaimonthofyear=371;
895 	enum xlfThainumsound=372;
896 	enum xlfThainumstring=373;
897 	enum xlfThaistringlength=374;
898 	enum xlfIsthaidigit=375;
899 	enum xlfRoundbahtdown=376;
900 	enum xlfRoundbahtup=377;
901 	enum xlfThaiyear=378;
902 	enum xlfRtd=379;
903 	enum xlfCubevalue=380;
904 	enum xlfCubemember=381;
905 	enum xlfCubememberproperty=382;
906 	enum xlfCuberankedmember=383;
907 	enum xlfHex2bin=384;
908 	enum xlfHex2dec=385;
909 	enum xlfHex2oct=386;
910 	enum xlfDec2bin=387;
911 	enum xlfDec2hex=388;
912 	enum xlfDec2oct=389;
913 	enum xlfOct2bin=390;
914 	enum xlfOct2hex=391;
915 	enum xlfOct2dec=392;
916 	enum xlfBin2dec=393;
917 	enum xlfBin2oct=394;
918 	enum xlfBin2hex=395;
919 	enum xlfImsub=396;
920 	enum xlfImdiv=397;
921 	enum xlfImpower=398;
922 	enum xlfImabs=399;
923 	enum xlfImsqrt=400;
924 	enum xlfImln=401;
925 	enum xlfImlog2=402;
926 	enum xlfImlog10=403;
927 	enum xlfImsin=404;
928 	enum xlfImcos=405;
929 	enum xlfImexp=406;
930 	enum xlfImargument=407;
931 	enum xlfImconjugate=408;
932 	enum xlfImaginary=409;
933 	enum xlfImreal=410;
934 	enum xlfComplex=411;
935 	enum xlfImsum=412;
936 	enum xlfImproduct=413;
937 	enum xlfSeriessum=414;
938 	enum xlfFactdouble=415;
939 	enum xlfSqrtpi=416;
940 	enum xlfQuotient=417;
941 	enum xlfDelta=418;
942 	enum xlfGestep=419;
943 	enum xlfIseven=420;
944 	enum xlfIsodd=421;
945 	enum xlfMround=422;
946 	enum xlfErf=423;
947 	enum xlfErfc=424;
948 	enum xlfBesselj=425;
949 	enum xlfBesselk=426;
950 	enum xlfBessely=427;
951 	enum xlfBesseli=428;
952 	enum xlfXirr=429;
953 	enum xlfXnpv=430;
954 	enum xlfPricemat=431;
955 	enum xlfYieldmat=432;
956 	enum xlfIntrate=433;
957 	enum xlfReceived=434;
958 	enum xlfDisc=435;
959 	enum xlfPricedisc=436;
960 	enum xlfYielddisc=437;
961 	enum xlfTbilleq=438;
962 	enum xlfTbillprice=439;
963 	enum xlfTbillyield=440;
964 	enum xlfPrice=441;
965 	enum xlfYield=442;
966 	enum xlfDollarde=443;
967 	enum xlfDollarfr=444;
968 	enum xlfNominal=445;
969 	enum xlfEffect=446;
970 	enum xlfCumprinc=447;
971 	enum xlfCumipmt=448;
972 	enum xlfEdate=449;
973 	enum xlfEomonth=450;
974 	enum xlfYearfrac=451;
975 	enum xlfCoupdaybs=452;
976 	enum xlfCoupdays=453;
977 	enum xlfCoupdaysnc=454;
978 	enum xlfCoupncd=455;
979 	enum xlfCoupnum=456;
980 	enum xlfCouppcd=457;
981 	enum xlfDuration=458;
982 	enum xlfMduration=459;
983 	enum xlfOddlprice=460;
984 	enum xlfOddlyield=461;
985 	enum xlfOddfprice=462;
986 	enum xlfOddfyield=463;
987 	enum xlfRandbetween=464;
988 	enum xlfWeeknum=465;
989 	enum xlfAmordegrc=466;
990 	enum xlfAmorlinc=467;
991 	enum xlfConvert=468;
992 	enum xlfAccrint=469;
993 	enum xlfAccrintm=470;
994 	enum xlfWorkday=471;
995 	enum xlfNetworkdays=472;
996 	enum xlfGcd=473;
997 	enum xlfMultinomial=474;
998 	enum xlfLcm=475;
999 	enum xlfFvschedule=476;
1000 	enum xlfCubekpimember=477;
1001 	enum xlfCubeset=478;
1002 	enum xlfCubesetcount=479;
1003 	enum xlfIferror=480;
1004 	enum xlfCountifs=481;
1005 	enum xlfSumifs=482;
1006 	enum xlfAverageif=483;
1007 	enum xlfAverageifs=484;
1008 	enum xlfAggregate=485;
1009 	enum xlfBinom_dist=486;
1010 	enum xlfBinom_inv=487;
1011 	enum xlfConfidence_norm=488;
1012 	enum xlfConfidence_t=489;
1013 	enum xlfChisq_test=490;
1014 	enum xlfF_test=491;
1015 	enum xlfCovariance_p=492;
1016 	enum xlfCovariance_s=493;
1017 	enum xlfExpon_dist=494;
1018 	enum xlfGamma_dist=495;
1019 	enum xlfGamma_inv=496;
1020 	enum xlfMode_mult=497;
1021 	enum xlfMode_sngl=498;
1022 	enum xlfNorm_dist=499;
1023 	enum xlfNorm_inv=500;
1024 	enum xlfPercentile_exc=501;
1025 	enum xlfPercentile_inc=502;
1026 	enum xlfPercentrank_exc=503;
1027 	enum xlfPercentrank_inc=504;
1028 	enum xlfPoisson_dist=505;
1029 	enum xlfQuartile_exc=506;
1030 	enum xlfQuartile_inc=507;
1031 	enum xlfRank_avg=508;
1032 	enum xlfRank_eq=509;
1033 	enum xlfStdev_s=510;
1034 	enum xlfStdev_p=511;
1035 	enum xlfT_dist=512;
1036 	enum xlfT_dist_2t=513;
1037 	enum xlfT_dist_rt=514;
1038 	enum xlfT_inv=515;
1039 	enum xlfT_inv_2t=516;
1040 	enum xlfVar_s=517;
1041 	enum xlfVar_p=518;
1042 	enum xlfWeibull_dist=519;
1043 	enum xlfNetworkdays_intl=520;
1044 	enum xlfWorkday_intl=521;
1045 	enum xlfEcma_ceiling=522;
1046 	enum xlfIso_ceiling=523;
1047 	enum xlfBeta_dist=525;
1048 	enum xlfBeta_inv=526;
1049 	enum xlfChisq_dist=527;
1050 	enum xlfChisq_dist_rt=528;
1051 	enum xlfChisq_inv=529;
1052 	enum xlfChisq_inv_rt=530;
1053 	enum xlfF_dist=531;
1054 	enum xlfF_dist_rt=532;
1055 	enum xlfF_inv=533;
1056 	enum xlfF_inv_rt=534;
1057 	enum xlfHypgeom_dist=535;
1058 	enum xlfLognorm_dist=536;
1059 	enum xlfLognorm_inv=537;
1060 	enum xlfNegbinom_dist=538;
1061 	enum xlfNorm_s_dist=539;
1062 	enum xlfNorm_s_inv=540;
1063 	enum xlfT_test=541;
1064 	enum xlfZ_test=542;
1065 	enum xlfErf_precise=543;
1066 	enum xlfErfc_precise=544;
1067 	enum xlfGammaln_precise=545;
1068 	enum xlfCeiling_precise=546;
1069 	enum xlfFloor_precise=547;
1070 	enum xlfAcot=548;
1071 	enum xlfAcoth=549;
1072 	enum xlfCot=550;
1073 	enum xlfCoth=551;
1074 	enum xlfCsc=552;
1075 	enum xlfCsch=553;
1076 	enum xlfSec=554;
1077 	enum xlfSech=555;
1078 	enum xlfImtan=556;
1079 	enum xlfImcot=557;
1080 	enum xlfImcsc=558;
1081 	enum xlfImcsch=559;
1082 	enum xlfImsec=560;
1083 	enum xlfImsech=561;
1084 	enum xlfBitand=562;
1085 	enum xlfBitor=563;
1086 	enum xlfBitxor=564;
1087 	enum xlfBitlshift=565;
1088 	enum xlfBitrshift=566;
1089 	enum xlfPermutationa=567;
1090 	enum xlfCombina=568;
1091 	enum xlfXor=569;
1092 	enum xlfPduration=570;
1093 	enum xlfBase=571;
1094 	enum xlfDecimal=572;
1095 	enum xlfDays=573;
1096 	enum xlfBinom_dist_range=574;
1097 	enum xlfGamma=575;
1098 	enum xlfSkew_p=576;
1099 	enum xlfGauss=577;
1100 	enum xlfPhi=578;
1101 	enum xlfRri=579;
1102 	enum xlfUnichar=580;
1103 	enum xlfUnicode=581;
1104 	enum xlfMunit=582;
1105 	enum xlfArabic=583;
1106 	enum xlfIsoweeknum=584;
1107 	enum xlfNumbervalue=585;
1108 	enum xlfSheet=586;
1109 	enum xlfSheets=587;
1110 	enum xlfFormulatext=588;
1111 	enum xlfIsformula=589;
1112 	enum xlfIfna=590;
1113 	enum xlfCeiling_math=591;
1114 	enum xlfFloor_math=592;
1115 	enum xlfImsinh=593;
1116 	enum xlfImcosh=594;
1117 	enum xlfFilterxml=595;
1118 	enum xlfWebservice=596;
1119 	enum xlfEncodeurl=597;
1120 
1121 	/* Excel command numbers */
1122 	enum xlcBeep=(0 | xlCommand);
1123 	enum xlcOpen=(1 | xlCommand);
1124 	enum xlcOpenLinks=(2 | xlCommand);
1125 	enum xlcCloseAll=(3 | xlCommand);
1126 	enum xlcSave=(4 | xlCommand);
1127 	enum xlcSaveAs=(5 | xlCommand);
1128 	enum xlcFileDelete=(6 | xlCommand);
1129 	enum xlcPageSetup=(7 | xlCommand);
1130 	enum xlcPrint=(8 | xlCommand);
1131 	enum xlcPrinterSetup=(9 | xlCommand);
1132 	enum xlcQuit=(10 | xlCommand);
1133 	enum xlcNewWindow=(11 | xlCommand);
1134 	enum xlcArrangeAll=(12 | xlCommand);
1135 	enum xlcWindowSize=(13 | xlCommand);
1136 	enum xlcWindowMove=(14 | xlCommand);
1137 	enum xlcFull=(15 | xlCommand);
1138 	enum xlcClose=(16 | xlCommand);
1139 	enum xlcRun=(17 | xlCommand);
1140 	enum xlcSetPrintArea=(22 | xlCommand);
1141 	enum xlcSetPrintTitles=(23 | xlCommand);
1142 	enum xlcSetPageBreak=(24 | xlCommand);
1143 	enum xlcRemovePageBreak=(25 | xlCommand);
1144 	enum xlcFont=(26 | xlCommand);
1145 	enum xlcDisplay=(27 | xlCommand);
1146 	enum xlcProtectDocument=(28 | xlCommand);
1147 	enum xlcPrecision=(29 | xlCommand);
1148 	enum xlcA1R1c1=(30 | xlCommand);
1149 	enum xlcCalculateNow=(31 | xlCommand);
1150 	enum xlcCalculation=(32 | xlCommand);
1151 	enum xlcDataFind=(34 | xlCommand);
1152 	enum xlcExtract=(35 | xlCommand);
1153 	enum xlcDataDelete=(36 | xlCommand);
1154 	enum xlcSetDatabase=(37 | xlCommand);
1155 	enum xlcSetCriteria=(38 | xlCommand);
1156 	enum xlcSort=(39 | xlCommand);
1157 	enum xlcDataSeries=(40 | xlCommand);
1158 	enum xlcTable=(41 | xlCommand);
1159 	enum xlcFormatNumber=(42 | xlCommand);
1160 	enum xlcAlignment=(43 | xlCommand);
1161 	enum xlcStyle=(44 | xlCommand);
1162 	enum xlcBorder=(45 | xlCommand);
1163 	enum xlcCellProtection=(46 | xlCommand);
1164 	enum xlcColumnWidth=(47 | xlCommand);
1165 	enum xlcUndo=(48 | xlCommand);
1166 	enum xlcCut=(49 | xlCommand);
1167 	enum xlcCopy=(50 | xlCommand);
1168 	enum xlcPaste=(51 | xlCommand);
1169 	enum xlcClear=(52 | xlCommand);
1170 	enum xlcPasteSpecial=(53 | xlCommand);
1171 	enum xlcEditDelete=(54 | xlCommand);
1172 	enum xlcInsert=(55 | xlCommand);
1173 	enum xlcFillRight=(56 | xlCommand);
1174 	enum xlcFillDown=(57 | xlCommand);
1175 	enum xlcDefineName=(61 | xlCommand);
1176 	enum xlcCreateNames=(62 | xlCommand);
1177 	enum xlcFormulaGoto=(63 | xlCommand);
1178 	enum xlcFormulaFind=(64 | xlCommand);
1179 	enum xlcSelectLastCell=(65 | xlCommand);
1180 	enum xlcShowActiveCell=(66 | xlCommand);
1181 	enum xlcGalleryArea=(67 | xlCommand);
1182 	enum xlcGalleryBar=(68 | xlCommand);
1183 	enum xlcGalleryColumn=(69 | xlCommand);
1184 	enum xlcGalleryLine=(70 | xlCommand);
1185 	enum xlcGalleryPie=(71 | xlCommand);
1186 	enum xlcGalleryScatter=(72 | xlCommand);
1187 	enum xlcCombination=(73 | xlCommand);
1188 	enum xlcPreferred=(74 | xlCommand);
1189 	enum xlcAddOverlay=(75 | xlCommand);
1190 	enum xlcGridlines=(76 | xlCommand);
1191 	enum xlcSetPreferred=(77 | xlCommand);
1192 	enum xlcAxes=(78 | xlCommand);
1193 	enum xlcLegend=(79 | xlCommand);
1194 	enum xlcAttachText=(80 | xlCommand);
1195 	enum xlcAddArrow=(81 | xlCommand);
1196 	enum xlcSelectChart=(82 | xlCommand);
1197 	enum xlcSelectPlotArea=(83 | xlCommand);
1198 	enum xlcPatterns=(84 | xlCommand);
1199 	enum xlcMainChart=(85 | xlCommand);
1200 	enum xlcOverlay=(86 | xlCommand);
1201 	enum xlcScale=(87 | xlCommand);
1202 	enum xlcFormatLegend=(88 | xlCommand);
1203 	enum xlcFormatText=(89 | xlCommand);
1204 	enum xlcEditRepeat=(90 | xlCommand);
1205 	enum xlcParse=(91 | xlCommand);
1206 	enum xlcJustify=(92 | xlCommand);
1207 	enum xlcHide=(93 | xlCommand);
1208 	enum xlcUnhide=(94 | xlCommand);
1209 	enum xlcWorkspace=(95 | xlCommand);
1210 	enum xlcFormula=(96 | xlCommand);
1211 	enum xlcFormulaFill=(97 | xlCommand);
1212 	enum xlcFormulaArray=(98 | xlCommand);
1213 	enum xlcDataFindNext=(99 | xlCommand);
1214 	enum xlcDataFindPrev=(100 | xlCommand);
1215 	enum xlcFormulaFindNext=(101 | xlCommand);
1216 	enum xlcFormulaFindPrev=(102 | xlCommand);
1217 	enum xlcActivate=(103 | xlCommand);
1218 	enum xlcActivateNext=(104 | xlCommand);
1219 	enum xlcActivatePrev=(105 | xlCommand);
1220 	enum xlcUnlockedNext=(106 | xlCommand);
1221 	enum xlcUnlockedPrev=(107 | xlCommand);
1222 	enum xlcCopyPicture=(108 | xlCommand);
1223 	enum xlcSelect=(109 | xlCommand);
1224 	enum xlcDeleteName=(110 | xlCommand);
1225 	enum xlcDeleteFormat=(111 | xlCommand);
1226 	enum xlcVline=(112 | xlCommand);
1227 	enum xlcHline=(113 | xlCommand);
1228 	enum xlcVpage=(114 | xlCommand);
1229 	enum xlcHpage=(115 | xlCommand);
1230 	enum xlcVscroll=(116 | xlCommand);
1231 	enum xlcHscroll=(117 | xlCommand);
1232 	enum xlcAlert=(118 | xlCommand);
1233 	enum xlcNew=(119 | xlCommand);
1234 	enum xlcCancelCopy=(120 | xlCommand);
1235 	enum xlcShowClipboard=(121 | xlCommand);
1236 	enum xlcMessage=(122 | xlCommand);
1237 	enum xlcPasteLink=(124 | xlCommand);
1238 	enum xlcAppActivate=(125 | xlCommand);
1239 	enum xlcDeleteArrow=(126 | xlCommand);
1240 	enum xlcRowHeight=(127 | xlCommand);
1241 	enum xlcFormatMove=(128 | xlCommand);
1242 	enum xlcFormatSize=(129 | xlCommand);
1243 	enum xlcFormulaReplace=(130 | xlCommand);
1244 	enum xlcSendKeys=(131 | xlCommand);
1245 	enum xlcSelectSpecial=(132 | xlCommand);
1246 	enum xlcApplyNames=(133 | xlCommand);
1247 	enum xlcReplaceFont=(134 | xlCommand);
1248 	enum xlcFreezePanes=(135 | xlCommand);
1249 	enum xlcShowInfo=(136 | xlCommand);
1250 	enum xlcSplit=(137 | xlCommand);
1251 	enum xlcOnWindow=(138 | xlCommand);
1252 	enum xlcOnData=(139 | xlCommand);
1253 	enum xlcDisableInput=(140 | xlCommand);
1254 	enum xlcEcho=(141 | xlCommand);
1255 	enum xlcOutline=(142 | xlCommand);
1256 	enum xlcListNames=(143 | xlCommand);
1257 	enum xlcFileClose=(144 | xlCommand);
1258 	enum xlcSaveWorkbook=(145 | xlCommand);
1259 	enum xlcDataForm=(146 | xlCommand);
1260 	enum xlcCopyChart=(147 | xlCommand);
1261 	enum xlcOnTime=(148 | xlCommand);
1262 	enum xlcWait=(149 | xlCommand);
1263 	enum xlcFormatFont=(150 | xlCommand);
1264 	enum xlcFillUp=(151 | xlCommand);
1265 	enum xlcFillLeft=(152 | xlCommand);
1266 	enum xlcDeleteOverlay=(153 | xlCommand);
1267 	enum xlcNote=(154 | xlCommand);
1268 	enum xlcShortMenus=(155 | xlCommand);
1269 	enum xlcSetUpdateStatus=(159 | xlCommand);
1270 	enum xlcColorPalette=(161 | xlCommand);
1271 	enum xlcDeleteStyle=(162 | xlCommand);
1272 	enum xlcWindowRestore=(163 | xlCommand);
1273 	enum xlcWindowMaximize=(164 | xlCommand);
1274 	enum xlcError=(165 | xlCommand);
1275 	enum xlcChangeLink=(166 | xlCommand);
1276 	enum xlcCalculateDocument=(167 | xlCommand);
1277 	enum xlcOnKey=(168 | xlCommand);
1278 	enum xlcAppRestore=(169 | xlCommand);
1279 	enum xlcAppMove=(170 | xlCommand);
1280 	enum xlcAppSize=(171 | xlCommand);
1281 	enum xlcAppMinimize=(172 | xlCommand);
1282 	enum xlcAppMaximize=(173 | xlCommand);
1283 	enum xlcBringToFront=(174 | xlCommand);
1284 	enum xlcSendToBack=(175 | xlCommand);
1285 	enum xlcMainChartType=(185 | xlCommand);
1286 	enum xlcOverlayChartType=(186 | xlCommand);
1287 	enum xlcSelectEnd=(187 | xlCommand);
1288 	enum xlcOpenMail=(188 | xlCommand);
1289 	enum xlcSendMail=(189 | xlCommand);
1290 	enum xlcStandardFont=(190 | xlCommand);
1291 	enum xlcConsolidate=(191 | xlCommand);
1292 	enum xlcSortSpecial=(192 | xlCommand);
1293 	enum xlcGallery3dArea=(193 | xlCommand);
1294 	enum xlcGallery3dColumn=(194 | xlCommand);
1295 	enum xlcGallery3dLine=(195 | xlCommand);
1296 	enum xlcGallery3dPie=(196 | xlCommand);
1297 	enum xlcView3d=(197 | xlCommand);
1298 	enum xlcGoalSeek=(198 | xlCommand);
1299 	enum xlcWorkgroup=(199 | xlCommand);
1300 	enum xlcFillGroup=(200 | xlCommand);
1301 	enum xlcUpdateLink=(201 | xlCommand);
1302 	enum xlcPromote=(202 | xlCommand);
1303 	enum xlcDemote=(203 | xlCommand);
1304 	enum xlcShowDetail=(204 | xlCommand);
1305 	enum xlcUngroup=(206 | xlCommand);
1306 	enum xlcObjectProperties=(207 | xlCommand);
1307 	enum xlcSaveNewObject=(208 | xlCommand);
1308 	enum xlcShare=(209 | xlCommand);
1309 	enum xlcShareName=(210 | xlCommand);
1310 	enum xlcDuplicate=(211 | xlCommand);
1311 	enum xlcApplyStyle=(212 | xlCommand);
1312 	enum xlcAssignToObject=(213 | xlCommand);
1313 	enum xlcObjectProtection=(214 | xlCommand);
1314 	enum xlcHideObject=(215 | xlCommand);
1315 	enum xlcSetExtract=(216 | xlCommand);
1316 	enum xlcCreatePublisher=(217 | xlCommand);
1317 	enum xlcSubscribeTo=(218 | xlCommand);
1318 	enum xlcAttributes=(219 | xlCommand);
1319 	enum xlcShowToolbar=(220 | xlCommand);
1320 	enum xlcPrintPreview=(222 | xlCommand);
1321 	enum xlcEditColor=(223 | xlCommand);
1322 	enum xlcShowLevels=(224 | xlCommand);
1323 	enum xlcFormatMain=(225 | xlCommand);
1324 	enum xlcFormatOverlay=(226 | xlCommand);
1325 	enum xlcOnRecalc=(227 | xlCommand);
1326 	enum xlcEditSeries=(228 | xlCommand);
1327 	enum xlcDefineStyle=(229 | xlCommand);
1328 	enum xlcLinePrint=(240 | xlCommand);
1329 	enum xlcEnterData=(243 | xlCommand);
1330 	enum xlcGalleryRadar=(249 | xlCommand);
1331 	enum xlcMergeStyles=(250 | xlCommand);
1332 	enum xlcEditionOptions=(251 | xlCommand);
1333 	enum xlcPastePicture=(252 | xlCommand);
1334 	enum xlcPastePictureLink=(253 | xlCommand);
1335 	enum xlcSpelling=(254 | xlCommand);
1336 	enum xlcZoom=(256 | xlCommand);
1337 	enum xlcResume=(258 | xlCommand);
1338 	enum xlcInsertObject=(259 | xlCommand);
1339 	enum xlcWindowMinimize=(260 | xlCommand);
1340 	enum xlcSize=(261 | xlCommand);
1341 	enum xlcMove=(262 | xlCommand);
1342 	enum xlcSoundNote=(265 | xlCommand);
1343 	enum xlcSoundPlay=(266 | xlCommand);
1344 	enum xlcFormatShape=(267 | xlCommand);
1345 	enum xlcExtendPolygon=(268 | xlCommand);
1346 	enum xlcFormatAuto=(269 | xlCommand);
1347 	enum xlcGallery3dBar=(272 | xlCommand);
1348 	enum xlcGallery3dSurface=(273 | xlCommand);
1349 	enum xlcFillAuto=(274 | xlCommand);
1350 	enum xlcCustomizeToolbar=(276 | xlCommand);
1351 	enum xlcAddTool=(277 | xlCommand);
1352 	enum xlcEditObject=(278 | xlCommand);
1353 	enum xlcOnDoubleclick=(279 | xlCommand);
1354 	enum xlcOnEntry=(280 | xlCommand);
1355 	enum xlcWorkbookAdd=(281 | xlCommand);
1356 	enum xlcWorkbookMove=(282 | xlCommand);
1357 	enum xlcWorkbookCopy=(283 | xlCommand);
1358 	enum xlcWorkbookOptions=(284 | xlCommand);
1359 	enum xlcSaveWorkspace=(285 | xlCommand);
1360 	enum xlcChartWizard=(288 | xlCommand);
1361 	enum xlcDeleteTool=(289 | xlCommand);
1362 	enum xlcMoveTool=(290 | xlCommand);
1363 	enum xlcWorkbookSelect=(291 | xlCommand);
1364 	enum xlcWorkbookActivate=(292 | xlCommand);
1365 	enum xlcAssignToTool=(293 | xlCommand);
1366 	enum xlcCopyTool=(295 | xlCommand);
1367 	enum xlcResetTool=(296 | xlCommand);
1368 	enum xlcConstrainNumeric=(297 | xlCommand);
1369 	enum xlcPasteTool=(298 | xlCommand);
1370 	enum xlcPlacement=(300 | xlCommand);
1371 	enum xlcFillWorkgroup=(301 | xlCommand);
1372 	enum xlcWorkbookNew=(302 | xlCommand);
1373 	enum xlcScenarioCells=(305 | xlCommand);
1374 	enum xlcScenarioDelete=(306 | xlCommand);
1375 	enum xlcScenarioAdd=(307 | xlCommand);
1376 	enum xlcScenarioEdit=(308 | xlCommand);
1377 	enum xlcScenarioShow=(309 | xlCommand);
1378 	enum xlcScenarioShowNext=(310 | xlCommand);
1379 	enum xlcScenarioSummary=(311 | xlCommand);
1380 	enum xlcPivotTableWizard=(312 | xlCommand);
1381 	enum xlcPivotFieldProperties=(313 | xlCommand);
1382 	enum xlcPivotField=(314 | xlCommand);
1383 	enum xlcPivotItem=(315 | xlCommand);
1384 	enum xlcPivotAddFields=(316 | xlCommand);
1385 	enum xlcOptionsCalculation=(318 | xlCommand);
1386 	enum xlcOptionsEdit=(319 | xlCommand);
1387 	enum xlcOptionsView=(320 | xlCommand);
1388 	enum xlcAddinManager=(321 | xlCommand);
1389 	enum xlcMenuEditor=(322 | xlCommand);
1390 	enum xlcAttachToolbars=(323 | xlCommand);
1391 	enum xlcVbaactivate=(324 | xlCommand);
1392 	enum xlcOptionsChart=(325 | xlCommand);
1393 	enum xlcVbaInsertFile=(328 | xlCommand);
1394 	enum xlcVbaProcedureDefinition=(330 | xlCommand);
1395 	enum xlcRoutingSlip=(336 | xlCommand);
1396 	enum xlcRouteDocument=(338 | xlCommand);
1397 	enum xlcMailLogon=(339 | xlCommand);
1398 	enum xlcInsertPicture=(342 | xlCommand);
1399 	enum xlcEditTool=(343 | xlCommand);
1400 	enum xlcGalleryDoughnut=(344 | xlCommand);
1401 	enum xlcChartTrend=(350 | xlCommand);
1402 	enum xlcPivotItemProperties=(352 | xlCommand);
1403 	enum xlcWorkbookInsert=(354 | xlCommand);
1404 	enum xlcOptionsTransition=(355 | xlCommand);
1405 	enum xlcOptionsGeneral=(356 | xlCommand);
1406 	enum xlcFilterAdvanced=(370 | xlCommand);
1407 	enum xlcMailAddMailer=(373 | xlCommand);
1408 	enum xlcMailDeleteMailer=(374 | xlCommand);
1409 	enum xlcMailReply=(375 | xlCommand);
1410 	enum xlcMailReplyAll=(376 | xlCommand);
1411 	enum xlcMailForward=(377 | xlCommand);
1412 	enum xlcMailNextLetter=(378 | xlCommand);
1413 	enum xlcDataLabel=(379 | xlCommand);
1414 	enum xlcInsertTitle=(380 | xlCommand);
1415 	enum xlcFontProperties=(381 | xlCommand);
1416 	enum xlcMacroOptions=(382 | xlCommand);
1417 	enum xlcWorkbookHide=(383 | xlCommand);
1418 	enum xlcWorkbookUnhide=(384 | xlCommand);
1419 	enum xlcWorkbookDelete=(385 | xlCommand);
1420 	enum xlcWorkbookName=(386 | xlCommand);
1421 	enum xlcGalleryCustom=(388 | xlCommand);
1422 	enum xlcAddChartAutoformat=(390 | xlCommand);
1423 	enum xlcDeleteChartAutoformat=(391 | xlCommand);
1424 	enum xlcChartAddData=(392 | xlCommand);
1425 	enum xlcAutoOutline=(393 | xlCommand);
1426 	enum xlcTabOrder=(394 | xlCommand);
1427 	enum xlcShowDialog=(395 | xlCommand);
1428 	enum xlcSelectAll=(396 | xlCommand);
1429 	enum xlcUngroupSheets=(397 | xlCommand);
1430 	enum xlcSubtotalCreate=(398 | xlCommand);
1431 	enum xlcSubtotalRemove=(399 | xlCommand);
1432 	enum xlcRenameObject=(400 | xlCommand);
1433 	enum xlcWorkbookScroll=(412 | xlCommand);
1434 	enum xlcWorkbookNext=(413 | xlCommand);
1435 	enum xlcWorkbookPrev=(414 | xlCommand);
1436 	enum xlcWorkbookTabSplit=(415 | xlCommand);
1437 	enum xlcFullScreen=(416 | xlCommand);
1438 	enum xlcWorkbookProtect=(417 | xlCommand);
1439 	enum xlcScrollbarProperties=(420 | xlCommand);
1440 	enum xlcPivotShowPages=(421 | xlCommand);
1441 	enum xlcTextToColumns=(422 | xlCommand);
1442 	enum xlcFormatCharttype=(423 | xlCommand);
1443 	enum xlcLinkFormat=(424 | xlCommand);
1444 	enum xlcTracerDisplay=(425 | xlCommand);
1445 	enum xlcTracerNavigate=(430 | xlCommand);
1446 	enum xlcTracerClear=(431 | xlCommand);
1447 	enum xlcTracerError=(432 | xlCommand);
1448 	enum xlcPivotFieldGroup=(433 | xlCommand);
1449 	enum xlcPivotFieldUngroup=(434 | xlCommand);
1450 	enum xlcCheckboxProperties=(435 | xlCommand);
1451 	enum xlcLabelProperties=(436 | xlCommand);
1452 	enum xlcListboxProperties=(437 | xlCommand);
1453 	enum xlcEditboxProperties=(438 | xlCommand);
1454 	enum xlcPivotRefresh=(439 | xlCommand);
1455 	enum xlcLinkCombo=(440 | xlCommand);
1456 	enum xlcOpenText=(441 | xlCommand);
1457 	enum xlcHideDialog=(442 | xlCommand);
1458 	enum xlcSetDialogFocus=(443 | xlCommand);
1459 	enum xlcEnableObject=(444 | xlCommand);
1460 	enum xlcPushbuttonProperties=(445 | xlCommand);
1461 	enum xlcSetDialogDefault=(446 | xlCommand);
1462 	enum xlcFilter=(447 | xlCommand);
1463 	enum xlcFilterShowAll=(448 | xlCommand);
1464 	enum xlcClearOutline=(449 | xlCommand);
1465 	enum xlcFunctionWizard=(450 | xlCommand);
1466 	enum xlcAddListItem=(451 | xlCommand);
1467 	enum xlcSetListItem=(452 | xlCommand);
1468 	enum xlcRemoveListItem=(453 | xlCommand);
1469 	enum xlcSelectListItem=(454 | xlCommand);
1470 	enum xlcSetControlValue=(455 | xlCommand);
1471 	enum xlcSaveCopyAs=(456 | xlCommand);
1472 	enum xlcOptionsListsAdd=(458 | xlCommand);
1473 	enum xlcOptionsListsDelete=(459 | xlCommand);
1474 	enum xlcSeriesAxes=(460 | xlCommand);
1475 	enum xlcSeriesX=(461 | xlCommand);
1476 	enum xlcSeriesY=(462 | xlCommand);
1477 	enum xlcErrorbarX=(463 | xlCommand);
1478 	enum xlcErrorbarY=(464 | xlCommand);
1479 	enum xlcFormatChart=(465 | xlCommand);
1480 	enum xlcSeriesOrder=(466 | xlCommand);
1481 	enum xlcMailLogoff=(467 | xlCommand);
1482 	enum xlcClearRoutingSlip=(468 | xlCommand);
1483 	enum xlcAppActivateMicrosoft=(469 | xlCommand);
1484 	enum xlcMailEditMailer=(470 | xlCommand);
1485 	enum xlcOnSheet=(471 | xlCommand);
1486 	enum xlcStandardWidth=(472 | xlCommand);
1487 	enum xlcScenarioMerge=(473 | xlCommand);
1488 	enum xlcSummaryInfo=(474 | xlCommand);
1489 	enum xlcFindFile=(475 | xlCommand);
1490 	enum xlcActiveCellFont=(476 | xlCommand);
1491 	enum xlcEnableTipwizard=(477 | xlCommand);
1492 	enum xlcVbaMakeAddin=(478 | xlCommand);
1493 	enum xlcInsertdatatable=(480 | xlCommand);
1494 	enum xlcWorkgroupOptions=(481 | xlCommand);
1495 	enum xlcMailSendMailer=(482 | xlCommand);
1496 	enum xlcAutocorrect=(485 | xlCommand);
1497 	enum xlcPostDocument=(489 | xlCommand);
1498 	enum xlcPicklist=(491 | xlCommand);
1499 	enum xlcViewShow=(493 | xlCommand);
1500 	enum xlcViewDefine=(494 | xlCommand);
1501 	enum xlcViewDelete=(495 | xlCommand);
1502 	enum xlcSheetBackground=(509 | xlCommand);
1503 	enum xlcInsertMapObject=(510 | xlCommand);
1504 	enum xlcOptionsMenono=(511 | xlCommand);
1505 	enum xlcNormal=(518 | xlCommand);
1506 	enum xlcLayout=(519 | xlCommand);
1507 	enum xlcRmPrintArea=(520 | xlCommand);
1508 	enum xlcClearPrintArea=(521 | xlCommand);
1509 	enum xlcAddPrintArea=(522 | xlCommand);
1510 	enum xlcMoveBrk=(523 | xlCommand);
1511 	enum xlcHidecurrNote=(545 | xlCommand);
1512 	enum xlcHideallNotes=(546 | xlCommand);
1513 	enum xlcDeleteNote=(547 | xlCommand);
1514 	enum xlcTraverseNotes=(548 | xlCommand);
1515 	enum xlcActivateNotes=(549 | xlCommand);
1516 	enum xlcProtectRevisions=(620 | xlCommand);
1517 	enum xlcUnprotectRevisions=(621 | xlCommand);
1518 	enum xlcOptionsMe=(647 | xlCommand);
1519 	enum xlcWebPublish=(653 | xlCommand);
1520 	enum xlcNewwebquery=(667 | xlCommand);
1521 	enum xlcPivotTableChart=(673 | xlCommand);
1522 	enum xlcOptionsSave=(753 | xlCommand);
1523 	enum xlcOptionsSpell=(755 | xlCommand);
1524 	enum xlcHideallInkannots=(808 | xlCommand);