VFPºÍExcel¶¼¿ÉÒÔÓÃÀ´½øÐд¦ÀíÊý¾Ý¿â±í¸ñ£¬Èç¹ûÇÉÃîµØ½«¶þÕßµÄÓŵã½áºÏÆðÀ´£¬½«»á´ó´ó·½±ãÎÒÃǵŤ×÷¡£±ÈÈçÎÒÃÇ¿ÉÒÔÀûÓÃVFP½øÐд¦ÀíÊý¾Ý£¬¶øÀûÓÃExcelµÄÔ¤ÀÀ´òÓ¡¹¦ÄܽøÐб¨±í´òÓ¡¡£Õâ¾ÍÐèÒªÎÒÃÇÔÚVFPÖÐÖ±½ÓÀ´¿ØÖÆExcel¡£ÏÂÃæ¾ÍÔÚ¿ª·¢VFPÓ¦ÓÃÏîĿʱ¶ÔExcelµÄ¿ØÖÆ×÷һϽéÉÜ£º
*!* 1£®´´½¨Excel¶ÔÏó
oExcel=Createobject(\*!* 2£®Ìí¼Óй¤×÷²¾ oExcel.Workbooks.Add
*!* 3£®ÉèÖõÚ3¸ö¹¤×÷±íΪ¼¤»î¹¤×÷±í oExcel.Worksheets(\*!* 4£®´ò¿ªÖ¸¶¨¹¤×÷²¾
oExcel.Workbooks.Open(\*!* 5£®ÏÔʾExcel´°¿Ú oExcel.Visible=.T.
*!* 6£®¸ü¸ÄExcel±êÌâÀ¸
oExcel.Caption=\Ó¦ÓóÌÐòµ÷ÓÃMicrosoft Excel\*!* 7£®¸øµ¥Ôª¸ñ¸³Öµ
oExcel.cells(1,4).Value=XM(XMΪÊý¾Ý¿â×Ö¶ÎÃû) *!* 8£®ÉèÖÃÖ¸¶¨ÁеĿí¶È(µ¥Î»£º×Ö·û¸öÊý) oExcel.ActiveSheet.Columns(1).ColumnWidth=5 *!* 9£®ÉèÖÃÖ¸¶¨Ðеĸ߶È(µ¥Î»£º°õ) oExcel.ActiveSheet.Rows(1).RowHeight=1 (É趨ÐиßΪ1°õ£¬1°õ=0.035ÀåÃ×)
oExcel.ActiveSheet.Rows(\ÉèÖõÚ50ÐÐÖÁ100ÐÐµÄ¸ß¶È *!* 10£®ÔÚµÚ18ÐÐ֮ǰ²åÈë·ÖÒ³·û
oExcel.Worksheets(\*!* 11£®ÔÚµÚ4ÁÐ֮ǰɾ³ý·ÖÒ³·û
oExcel.ActiveSheet.Columns(4).PageBreak=0 *!* 12£®Ö¸¶¨±ß¿òÏß¿í¶È(Borders²ÎÊýÈçÏÂ)
ole.ActiveSheet.Range(\*!* 13£®ÉèÖÃËĸö±ß¿òÏßÌõµÄÀàÐÍ
oExcel.ActiveSheet.Range(\
(ÆäÖÐBorders²ÎÊý£º1£×ó¡¢2£ÓÒ¡¢3£¶¥¡¢4£µ×¡¢5£Ð±¡¢6£Ð±/£»LineStyleÖµ£º1Óë7£Ï¸Êµ¡¢2£Ï¸Ðé¡¢4£µãÐé¡¢9£Ë«Ï¸ÊµÏß)
*!* 14£®ÉèÖÃҳü
oExcel.ActiveSheet.PageSetup.CenterHeader=\±¨±í1\*!* 15£®ÉèÖÃҳü(×ÖÌå´óС)
oExcel.ActiveSheet.PageSetup.CenterHeader=\±¨±í1\ºóÃæµÄ50¿ÉÒÔ×Ô¶¨Ò壬±íʾ×ÖÌåµÄ´óС
*!* 16£®ÉèÖÃÒ³½Å
oExcel.ActiveSheet.PageSetup.CenterFooter=\µÚ&PÒ³\*!* 17.ÉèÖÃÒ³½Å(×ÖÌå´óС)
oExcel.ActiveSheet.PageSetup.CenterFooter=\µÚ&PÒ³\ºóÃæµÄ28¿ÉÒÔ×Ô¶¨Ò壬±íʾ×ÖÌåµÄ´óС
*!* 18£®ÉèÖÃҳüµ½¶¥¶Ë±ß¾àΪ2ÀåÃ×
oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035 *!* 19£®ÉèÖÃÒ³½Åµ½µ×±ß¾àΪ3ÀåÃ×
oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035 *!* 20£®ÉèÖö¥±ß¾àΪ2ÀåÃ×
oExcel.ActiveSheet.PageSetup.TopMargin=2/0.035 *!* 21£®ÉèÖõױ߾àΪ4ÀåÃ×
oExcel.ActiveSheet.PageSetup.BottomMargin=4/0.035 *!* 22£®ÉèÖÃ×ó±ß¾àΪ2ÀåÃ×
oExcel.ActiveSheet.PageSetup.LeftMargin=2/0.035 *!* 23£®ÉèÖÃÓұ߾àΪ2ÀåÃ×
oExcel.ActiveSheet.PageSetup.RightMargin=2/0.035 *!* 24£®ÉèÖÃÒ³ÃæË®Æ½¾ÓÖÐ
oExcel.ActiveSheet.PageSetup.CenterHorizontally=.T. *!* 25£®ÉèÖÃÒ³Ãæ´¹Ö±¾ÓÖÐ
oExcel.ActiveSheet.PageSetup.CenterVertically=.T.
*!* 26£®ÉèÖÃÒ³ÃæÖ½ÕÅ´óС(1£ÕÐÐ8511 39£¿íÐÐ14oExcel.ActiveSheet.PageSetup.Papersize=1 *!* 27£®´òÓ¡µ¥Ôª¸ñÍøÏß
oExcel.ActiveSheet.PageSetup.PrintGridlines=.T. *!* 28£®¿½±´Õû¸ö¹¤×÷±í
oExcel.ActiveSheet.UsedRange.Copy *!* 29£®¿½±´Ö¸¶¨ÇøÓò
oExcel.ActiveSheet.Range(\*!* 30£®Õ³Ìù
oExcel.WorkSheet(\*!* 31£®ÔÚµÚ2ÐÐ֮ǰ²åÈëÒ»ÐÐ oExcel.ActiveSheet.Rows(2).Insert *!* 32£®ÔÚµÚ2ÁÐ֮ǰ²åÈëÒ»ÁÐ oExcel.ActiveSheet.Columns(2).Insert *!* 33£®ÉèÖÃ×ÖÌå
oExcel.ActiveSheet.Cells(2,1).Font.Name=\ºÚÌå\*!* 34£®ÉèÖÃ×ÖÌå´óС
oExcel.ActiveSheet.Cells(1,1).Font.Size=25 *!* 35£®ÉèÖÃ×ÖÌåΪбÌå
oExcel.ActiveSheet.Cells(1,1).Font.Italic=.T. *!* 36£®ÉèÖÃÕûÁÐ×ÖÌåΪ´ÖÌå
oExcel.ActiveSheet.Columns(1).Font.Bold=.T. *!* 37£®Çå³ýµ¥Ôª¸ñ¹«Ê½
oExcel.ActiveSheet.Cells(1,4).ClearContents *!* 38£®´òÓ¡Ô¤ÀÀ¹¤×÷±í
oExcel.ActiveSheet.PrintPreview *!* 39£®´òÓ¡Êä³ö¹¤×÷±í oExcel.ActiveSheet.PrintOut
11 9:A4)
*!* 40£® oExcel.CommandBars(1).Controls(1).accChild(18).Execute &&´òÓ¡£¨²Ëµ¥ÐòºÅ18ΪExcel2003µÄ¡®´òÓ¡¡¯Ï
&&²»Í¬°æ±¾ExcelµÄ²Ëµ¥ÐòºÅ¿ÉÒÔͨ¹ýÒÔϳÌÐòÈ¡µÃ *(ÐèÒªÔÚVFP7.0ÒÔÉÏÔËÐÐ) oXls=Getobject(\XlApp=oXLS.Application XlSheet=XlApp.ActiveSheet bars=xlapp.CommandBars.Count Str1=''
For i=1 To bars
Str1=Str1+Chr(13)+Alltrim(Str(i))+'¡¢'+xlapp.CommandBars(i).accName+'(NAME:'+xlapp.CommandBars(i).Name+' INDEX:'+Alltrim(Str(xlapp.CommandBars(i).Index))+')'
bars2=xlapp.commandbars(i).accChildCount For j=1 To bars2 Try
obj=xlapp.commandbars(i).Controls(j) Str1=Str1+Chr(13)+' '+Alltrim(Str(j))+'¡¢'+xlapp.commandbars(i).Controls(j).accname+'(ID:'+Alltrim(Str(xlapp.CommandBars(i).Controls(j).Id))+')'
For k=1 To obj.accChildCount Try
If Not Empty(obj.Controls(k).accname ) Str1=Str1+Chr(13)+' '+Alltrim(Str(k))+'¡¢'+obj.Controls(k).accName+' (ID£º'+ Alltrim(Str(obj.Controls(k).Id))+')'
Endif Catch Exit Endtry Endfor Catch Exit Endtry Endfor
Wait Windows Alltrim(Str(i))+' / '+Alltrim(Str(bars))+' '+Str(i/bars*100,10,2)+'%' Nowait
Endfor
Save To Xls.txt All Like Str1 Modify Command Xls.txt Return
*!* 41£®¹¤×÷±íÁí´æÎª
oExcel.ActiveWorkbook.SaveAs(\
*¼ì²âµ±Ç°Ä¿Â¼ÊÇ·ñÓÐͬÃûµÄEXCEL±í£¬Èç¹ûÓÐÏÈɾ³ý£¬ÔÙÁí´æ If !File(Sys(5) + Curdir() + \
oExcel.ActiveWorkbook.SaveAs(Sys(5) + Curdir() + \Else
lcFileName = loExcel.GetSaveAsFilename(\ If !Empty(lcFileName) If File(lcFileName)
Delete File (lcFileName) Endif
oExcel.ActiveWorkbook.SaveAs(lcFileName) Endif Endif
*!* 42£®·ÅÆú´æÅÌ && ±ÜÃâ³öÏÖ±£´æ¶Ô»°¿ò oExcel.ActiveWorkbook.saved=.T. *!* 43£®´æÅÌ
oExcel.ActiveWorkbook.Save *!* 44£®¹Ø±Õ¹¤×÷²¾ oExcel.Workbooks.Close
objexcel.activeworkbook.Close(.F.) *!* 45£®Í˳öExcel oExcel.Quit
Release oExcel &&Ö»ÓÐÊͷŶÔÏó±äÁ¿, EXCEL½ø³Ì²Å»áÍêÈ«¹Ø±Õ *!* 46£®ºÏ²¢µ¥Ôª¸ñ
oExcel.ActiveSheet.Range(\*!* 47£®ÏÂÁÐÉèÖôó¼Ò×Ô¼ºÀí½â With crfole.ActiveSheet.PageSetup .LeftHeader = Chr(13)+\×óҳü\ .CenterHeader = \ÖÐҳü\ .RightHeader = \ÓÒҳü\ .LeftFooter = \×óÒ³½Å\ .CenterFooter = \ÖÐÒ³½Å\ .RightFooter = \ÓÒÒ³½Å\
.Orientation=1 &&1ÊúÅÅ£¬2ºáÅÅ Endwith
With crfole.Range(\ .MergeCells = .T. .WrapText =.F. .Orientation = 0 .AddIndent =.F. .ShrinkToFit = .F. Endwith
*!* 48£®Îı¾¶ÔÆë
oExcel.Range(\=1 &&ˮƽ(1-ĬÈÏ¡¢2-¿¿×ó¡¢3-¾ÓÖС¢4-¿¿ÓÒ¡¢5-Ìî³ä¡¢6=Á½¶Ë¶ÔÆë¡¢7=¿çÁоÓÖС¢8=·ÖÉ¢¶ÔÆë)
oExcel.Range(\´¹Ö±(1=¿¿ÉÏ¡¢2=¾ÓÖС¢3=¿¿Ï¡¢4=Á½¶Ë¶ÔÆë¡¢5=·ÖÉ¢¶ÔÆë)