Article View: cn.bbs.comp.program
Article #1269VFP�е�OLE�Զ�����MS OFFICE�ļ���
From: ���ܵ�Сʨ
Date: Sat, 18 Apr 1998 00:00
Date: Sat, 18 Apr 1998 00:00
123 lines
9672 bytes
9672 bytes
�?˾����,������л���Windows�IJ�Ʒ��ͬWindows���?
δ���İ汾��������OLE���ּ���,���ʹWindows��Ϊһ�ּ����Ժ�
ǿ��ƽ̨�����Ľ�����OLE���Զ���,������˵����VFP3.0(Visual Fo
xpro)�����ͨ��OLE�Զ���ʵ�ֶ���OfficeӦ�õĿ��ơ�
OLE�Զ������˵����:һ��Ӧ�ó����������һ��Ӧ�ó���
�Ĺ��,�����ͨ��һ��OLE������ʵ�֡�����������Ժͷ���,
�����������ö����״̬�����������Ŀ��ֵ,�������Զ�ijһ����
ִ��һ������,�����ӡ�ļ�������ȵȡ�
�����½��Ƴ���VFP3.0����,������֧��OLE�Զ����Ĺ���,ʹV
FP������Ӧ���ܹ�ʹ�������Ӧ�ó���ȥ�����ʺ��ڸ�Ӧ�ó���Ĺ�
��,������Ϊͻ���ľ��������Officeһ�����Эͬ������
ʹ��OLE�Զ���һ����Ҫ���������:���Ȼ���ij��������Ӧ��
������VFP�д����������ʹ���Ѿ����ڵĶ���;Ȼ��������ø�Ӧ��
����ķ��������������и��ֲ���,��Щ���������Ǻ����������
Ӧ�ó����е�����(����EXCEL�еĸ�������);���Ҫ�ͷ�OLE����
������Ӧ�ó���,�ͷ�OLE����
Ϊ�˻�ȡ����Ӧ�õĶ���,��VFP�����ṩ�������������ڴ���
����,һ�������ij������Ϳ���ͨ���������Ժͷ������������
����
1.CREATEOBJECT()����
��һ��֧��OLE�����Ӧ�ó����д���һ���¶���,�������ͬ��
Ҳ�������ڴ�Foxpro�ڲ��Ļ��û��Զ����������ɶ���,������ֻ
����OLE�������ɡ�
�: <memvar>=CREATEOBJECT(cCLassName)��
����: cCLassNameָ�����������¶�������OLE����,�¶���
����������ɡ�
VFP�����������˳�����������ָ����OLE����:
�� Visual Foxpro����;
�� ���ڴ��а�����˳�������û��Զ������;
�� ��ǰ�����е���;
�� ʹ��SET CLASSIB�������.VCX����е���;
�� ʹ��SET PROCEDURE����Ĺ���ļ��е���;
�� ��Visual Foxpro����ִ�����е���;
�� Windowsע���(����OLE�������)��
��Ӧ��cCLassName��OLE��������������:
ApplicationName.Class
����,Ҫ��OLE�Զ������һ��MICROSOFT Word����,����������
���:
A1=CREATEOBJECT("WORD.BASIC")
����һ�д���ִ���Ժ�,Word�ͻᱻ����(�����������Word��û
�����е������), ͬʱ��������ָ���Ķ�������,����δʹWord�ɼ�
,(��һ����ע��:���Word�Ѿ������е���, ��ִ����������ʱ,��
�ᴴ��һ���µķ����ʵ��������õ�ǰ�Ѿ����ڵ�ʵ��;��EXCEL
��ͬ:����EXCELʹ�����CREATEOBJECT EXCEL�ͻ������������
,�������������ͬ��ʵ��)��һ���������Ժ�,�Ϳ���ͨ��ʹ��
����Ķ�������ڴ������������������������,����ͨ�����A
1��������������¶�������Ժͷ���������:
A1.Insert ("HELLO WORD��")
A1.FILEPRINTDEFAULT
2.GETOBJECT()����
����һ���Ѿ����ڵ�OLE�Զ�������(��������������������)
��
�:GETOBJECT([cFILENAME[,cCLASSNAME])��
����:cFILENAMEָ����Ҫ�����ļ�������·�����ļ���
cCLASSNAME��Ҫ�������������(������Ҫ˵��һ��,cCLASSNAM
E������Ҫ���趨,��ΪOLE�Ķ�̬���ӿ�������ṩ���ļ������
��Ҫ������Ӧ��)��
����,����Ĵ���������EXCEL,����һ����MYSHEET.CLS���ļ�
,�����һ������,������洢��һ�������ڴ����MYCLS��:
Mycls=GETOBJECT("C:\EXCEL\WORK\MYSHEET.CLS")
3.����
�������˵������VFP��OLE�Զ�����MS Office�Ľ��Ӧ�á���
������˵������OLE�Զ�������VFP��ѡ���������ݲ���EXCEL����
�����,����ʾͳ�Ƶ����ͼ��,ͬʱ��Word����ʾ��ƪ����(A:\OL
E.DOC),ͬʱ��ӡ����ƪ���¡�
����VFP�����µı?,���������COMMANDBUTTON�ؼ�,����CAPT
ION�����Ը�Ϊ"OLE�Զ���",Ȼ�������˫����ť���ڴ��봰���м�
��:
*****�������
#DEFINE WAITMSG0_LOC "�밴�����������"
#DEFINE WAITMSG1_LOC "����ִ�в�ѯ��"
#DEFINE WAITMSG2_LOC "���� Excel �?��"
#DEFINE WAITMSG3_LOC "����ѯ��Ϣ���뵽EXCEL���ӱ���С�"
#DEFINE WAITMSG4_LOC "���ڴ��� Graph ����..."
#DEFINE WAITMSG5_LOC "����Graph..."
#DEFINE WAITMSG6_LOC "���� Word �ı�..."
#DEFINE WAITMSG7_LOC "���!"
PUBLIC objwddoc
str= "����VFP�е�OLE�Զ�����������Office��Ӧ��"
wait wind WAITMSG1_LOC nowait
SELECT name,age FROM al INTO array cust_distrib
wait wind WAITMSG0_LOC
wait wind WAITMSG2_LOC nowait
objsheet=crea("Excel.Sheet") ****��������OBJSHEET
objsheet.application.visible=.T. ****ʹ������ɼ�
Wait wind WAITMSG3_LOC nowait
*** ������ݵ�EXCEL��
for i = 1 to _TALLY
objsheet.Cells(i,1).Value = cust_distrib(i,1)
objsheet.Cells(i,2).Value = cust_distrib(i,2)
endfor
Wait wind WAITMSG4_LOC nowait
*** ����һ��ͼ�ζ���������ȥ
objChart1 = objsheet.ChartObjects.Add(100, 100, 200, 200
)
***����ͼ��.
Wait wind WAITMSG5_LOC nowait
objsheet.chartobjects(1).chart.;
chartwizard(objsheet.range(objsheet.cells(1,1),objsheet.
cells(10,2)),-4100, 4,1,0,1,1,"","","","")
objXLsheet.application.quit **�ر�EXCEL
release objsheet **�ͷ�OBJSHEET����
Wait wind WAITMSG6_LOC nowait
objWDdoc=crea("word.basic")
objwddoc.fileopen("a:\ole.doc") **��A���ϵ�OLE.DOC�ļ�
objwddoc.editgoto("biaoti") **�༭��Ϊ"BIAOTI"����ǩ,��
�����е�OLE.DOC�еĵ�һ�ж�����ǩBIAOTIobjwddoc.insert (str)
**��STR������ǩ��ǰ������
objwddoc.fileprintdefault**��ӡ����ļ�
Wait Wind WAITMSG7_LOC nowait
release objwddoc
����ֻ��һ��������,����˵��Visual Foxpro��OLE�Զ���
������OLE�Զ��������ѵ�������ѧϰ����������,�Ա���VFP��
����ʹ����Щ��������������,����������Ͳ������
���������ĵ���,�û����������н��в��IJ��ڳ�����ʹ����
��Ҫע���������OLE�Զ�������Դ�ܼ��ԡ���дOLE�Զ����ij�
��ʱ,�ڴ��Ǻ���Ҫ������,�ڴ�Խ��ͬʱ���еij���Խ�ࡣһ��Ҫ��
�����߱�16MB�ڴ�����ܵ�486���ϴ��������ߡ�
--
[m[1;32m�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: hsia.nju.edu.cn][m
Technical Details
Message-ID:
<3O9iYU$tL1@bbs.nju.edu.cn>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: fc86e,1d2ed72d6586934f,start X-Google-Attributes: gidfc86e,public From: pipishi.bbs@bbs.nju.edu.cn (���ܵ�Сʨ) Subject: VFP�е�OLE�Զ�����MS OFFICE�ļ��� Date: 1998/04/18 Message-ID: <3O9iYU$tL1@bbs.nju.edu.cn> X-Deja-AN: 345408785 X-Filename: Programming/M.892912254.A Organization: nju_bbs Newsgroups: cn.bbs.comp.program